blob: 2dda4222b9fbf68bcafdec2a4b23a21a22fdf4fb [file] [log] [blame]
/*
* Copyright (C) 2007 Holger Hans Peter Freyther
* Copyrifht (C) 2008 Jan Michael C. Alonzo
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library 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
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public License
* along with this library; see the file COPYING.LIB. If not, write to
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
#ifndef WEBKIT_PRIVATE_H
#define WEBKIT_PRIVATE_H
/*
* This file knows the shared secret of WebKitWebView and WebKitWebFrame.
* They are using WebCore which musn't be exposed to the outer world.
*/
#include <webkit/webkitdefines.h>
#include <webkit/webkitwebview.h>
#include <webkit/webkitwebframe.h>
#include <webkit/webkitwebsettings.h>
#include <webkit/webkitnetworkrequest.h>
#include <webkit/webkitwebbackforwardlist.h>
#include "BackForwardList.h"
#include "HistoryItem.h"
#include "Settings.h"
#include "Page.h"
#include "Frame.h"
#include "FrameLoaderClient.h"
#include <glib.h>
namespace WebKit {
WebKitWebView* getViewFromFrame(WebKitWebFrame*);
WebCore::Frame* core(WebKitWebFrame*);
WebKitWebFrame* kit(WebCore::Frame*);
WebCore::Page* core(WebKitWebView*);
WebKitWebView* kit(WebCore::Page*);
WebCore::HistoryItem* core(WebKitWebHistoryItem*);
WebKitWebHistoryItem* kit(WebCore::HistoryItem*);
WebCore::BackForwardList* core(WebKitWebBackForwardList*);
}
extern "C" {
void webkit_init();
#define WEBKIT_PARAM_READABLE ((GParamFlags)(G_PARAM_READABLE|G_PARAM_STATIC_NAME|G_PARAM_STATIC_NICK|G_PARAM_STATIC_BLURB))
#define WEBKIT_PARAM_READWRITE ((GParamFlags)(G_PARAM_READWRITE|G_PARAM_STATIC_NAME|G_PARAM_STATIC_NICK|G_PARAM_STATIC_BLURB))
#define WEBKIT_WEB_VIEW_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_WEB_VIEW, WebKitWebViewPrivate))
typedef struct _WebKitWebViewPrivate WebKitWebViewPrivate;
struct _WebKitWebViewPrivate {
WebCore::Page* corePage;
WebKitWebSettings* webSettings;
WebKitWebFrame* mainFrame;
WebCore::String applicationNameForUserAgent;
WebCore::String* userAgent;
WebKitWebBackForwardList* backForwardList;
gint lastPopupXPosition;
gint lastPopupYPosition;
HashSet<GtkWidget*> children;
bool editable;
GtkIMContext* imContext;
GtkTargetList* copy_target_list;
GtkTargetList* paste_target_list;
};
#define WEBKIT_WEB_FRAME_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_WEB_FRAME, WebKitWebFramePrivate))
typedef struct _WebKitWebFramePrivate WebKitWebFramePrivate;
struct _WebKitWebFramePrivate {
WebCore::Frame* coreFrame;
WebCore::FrameLoaderClient* client;
WebKitWebView* webView;
gchar* name;
gchar* title;
gchar* uri;
};
#define WEBKIT_NETWORK_REQUEST_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_NETWORK_REQUEST, WebKitNetworkRequestPrivate))
typedef struct _WebKitNetworkRequestPrivate WebKitNetworkRequestPrivate;
struct _WebKitNetworkRequestPrivate {
gchar* uri;
};
WebKitWebFrame*
webkit_web_frame_init_with_web_view(WebKitWebView*, WebCore::HTMLFrameOwnerElement*);
WebKitWebHistoryItem*
webkit_web_history_item_new_with_core_item(WebCore::HistoryItem*);
// FIXME: Move these to webkitwebframe.h once their API has been discussed.
WEBKIT_API GSList*
webkit_web_frame_get_children (WebKitWebFrame* frame);
WEBKIT_API gchar*
webkit_web_frame_get_inner_text (WebKitWebFrame* frame);
WEBKIT_API void
webkit_web_frame_print (WebKitWebFrame* frame);
WEBKIT_API gchar*
webkit_web_view_get_selected_text (WebKitWebView* web_view);
}
#endif