blob: 1b5b8aca58606ef3e3406026b01a2a1bc31accb0 [file] [log] [blame]
/*
* Copyright (C) 2007 Holger Hans Peter Freyther
* Copyright (C) 2007 Alp Toker <alp@atoker.com>
*
* 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 webkitwebframe_h
#define webkitwebframe_h
#include <glib-object.h>
#include <gtk/gtk.h>
#include <JavaScriptCore/JSBase.h>
#include <webkit/webkitdefines.h>
#include <webkit/webkitdomdefines.h>
#include <webkit/webkitnetworkrequest.h>
#include <webkit/webkitwebdatasource.h>
G_BEGIN_DECLS
#define WEBKIT_TYPE_WEB_FRAME (webkit_web_frame_get_type())
#define WEBKIT_WEB_FRAME(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_WEB_FRAME, WebKitWebFrame))
#define WEBKIT_WEB_FRAME_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_TYPE_WEB_FRAME, WebKitWebFrameClass))
#define WEBKIT_IS_WEB_FRAME(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_WEB_FRAME))
#define WEBKIT_IS_WEB_FRAME_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_TYPE_WEB_FRAME))
#define WEBKIT_WEB_FRAME_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_WEB_FRAME, WebKitWebFrameClass))
typedef struct _WebKitWebFramePrivate WebKitWebFramePrivate;
struct _WebKitWebFrame {
GObject parent_instance;
/*< private >*/
WebKitWebFramePrivate *priv;
};
struct _WebKitWebFrameClass {
GObjectClass parent_class;
/*< public >*/
void (*_webkit_reserved1) (void);
void (*_webkit_reserved2) (void);
void (*_webkit_reserved3) (void);
void (*_webkit_reserved4) (void);
void (*_webkit_reserved5) (void);
void (*_webkit_reserved6) (void);
};
/**
* WebKitLoadStatus
* @WEBKIT_LOAD_PROVISIONAL: No data has been received yet, empty
* structures have been allocated to perform the load; the load may
* still fail for transport issues such as not being able to resolve a
* name, or connect to a port.
* @WEBKIT_LOAD_COMMITTED: The first data chunk has arrived, meaning
* that the necessary transport requirements are stabilished, and the
* load is being performed.
* @WEBKIT_LOAD_FIRST_VISUALLY_NON_EMPTY_LAYOUT: The first layout with
* actual visible content happened; one or more layouts may have
* happened before that caused nothing to be visible on the screen,
* because the data available at the time was not significant enough.
* @WEBKIT_LOAD_FINISHED: This state means that everything that was
* required to display the page has been loaded.
* @WEBKIT_LOAD_FAILED: This state means that some error occurred
* during the page load that prevented it from being completed. You
* can connect to the #WebKitWebView::load-error signal if you want to
* know precisely what kind of error occurred.
*/
typedef enum {
WEBKIT_LOAD_PROVISIONAL,
WEBKIT_LOAD_COMMITTED,
WEBKIT_LOAD_FINISHED,
WEBKIT_LOAD_FIRST_VISUALLY_NON_EMPTY_LAYOUT,
WEBKIT_LOAD_FAILED
} WebKitLoadStatus;
WEBKIT_API GType
webkit_web_frame_get_type (void);
#ifndef WEBKIT_DISABLE_DEPRECATED
WEBKIT_API WebKitWebFrame *
webkit_web_frame_new (WebKitWebView *web_view);
#endif
WEBKIT_API WebKitWebView *
webkit_web_frame_get_web_view (WebKitWebFrame *frame);
WEBKIT_API const gchar *
webkit_web_frame_get_name (WebKitWebFrame *frame);
WEBKIT_API const gchar *
webkit_web_frame_get_title (WebKitWebFrame *frame);
WEBKIT_API const gchar *
webkit_web_frame_get_uri (WebKitWebFrame *frame);
WEBKIT_API WebKitWebFrame*
webkit_web_frame_get_parent (WebKitWebFrame *frame);
WEBKIT_API void
webkit_web_frame_load_uri (WebKitWebFrame *frame,
const gchar *uri);
WEBKIT_API void
webkit_web_frame_load_string (WebKitWebFrame *frame,
const gchar *content,
const gchar *mime_type,
const gchar *encoding,
const gchar *base_uri);
WEBKIT_API void
webkit_web_frame_load_alternate_string (WebKitWebFrame *frame,
const gchar *content,
const gchar *base_url,
const gchar *unreachable_url);
WEBKIT_API void
webkit_web_frame_load_request (WebKitWebFrame *frame,
WebKitNetworkRequest *request);
WEBKIT_API void
webkit_web_frame_stop_loading (WebKitWebFrame *frame);
WEBKIT_API void
webkit_web_frame_reload (WebKitWebFrame *frame);
WEBKIT_API WebKitWebFrame *
webkit_web_frame_find_frame (WebKitWebFrame *frame,
const gchar *name);
WEBKIT_API JSGlobalContextRef
webkit_web_frame_get_global_context (WebKitWebFrame *frame);
WEBKIT_API GtkPrintOperationResult
webkit_web_frame_print_full (WebKitWebFrame *frame,
GtkPrintOperation *operation,
GtkPrintOperationAction action,
GError **error);
WEBKIT_API void
webkit_web_frame_print (WebKitWebFrame *frame);
WEBKIT_API WebKitLoadStatus
webkit_web_frame_get_load_status (WebKitWebFrame *frame);
WEBKIT_API GtkPolicyType
webkit_web_frame_get_horizontal_scrollbar_policy (WebKitWebFrame *frame);
WEBKIT_API GtkPolicyType
webkit_web_frame_get_vertical_scrollbar_policy (WebKitWebFrame *frame);
WEBKIT_API WebKitWebDataSource *
webkit_web_frame_get_data_source (WebKitWebFrame *frame);
WEBKIT_API WebKitWebDataSource *
webkit_web_frame_get_provisional_data_source (WebKitWebFrame *frame);
WEBKIT_API WebKitSecurityOrigin*
webkit_web_frame_get_security_origin (WebKitWebFrame *frame);
WEBKIT_API WebKitNetworkResponse*
webkit_web_frame_get_network_response (WebKitWebFrame *frame);
WEBKIT_API void
webkit_web_frame_replace_selection (WebKitWebFrame *frame,
const char *text);
WEBKIT_API WebKitDOMRange*
webkit_web_frame_get_range_for_word_around_caret (WebKitWebFrame *frame);
WEBKIT_API WebKitDOMDocument*
webkit_web_frame_get_dom_document (WebKitWebFrame *frame);
G_END_DECLS
#endif