summaryrefslogtreecommitdiffstats
path: root/WebKit/gtk/webkit/webkitwebframe.cpp
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2011-05-05 14:36:32 +0100
committerBen Murdoch <benm@google.com>2011-05-10 15:38:30 +0100
commitf05b935882198ccf7d81675736e3aeb089c5113a (patch)
tree4ea0ca838d9ef1b15cf17ddb3928efb427c7e5a1 /WebKit/gtk/webkit/webkitwebframe.cpp
parent60fbdcc62bced8db2cb1fd233cc4d1e4ea17db1b (diff)
downloadexternal_webkit-f05b935882198ccf7d81675736e3aeb089c5113a.zip
external_webkit-f05b935882198ccf7d81675736e3aeb089c5113a.tar.gz
external_webkit-f05b935882198ccf7d81675736e3aeb089c5113a.tar.bz2
Merge WebKit at r74534: Initial merge by git.
Change-Id: I6ccd1154fa1b19c2ec2a66878eb675738735f1eb
Diffstat (limited to 'WebKit/gtk/webkit/webkitwebframe.cpp')
-rw-r--r--WebKit/gtk/webkit/webkitwebframe.cpp353
1 files changed, 49 insertions, 304 deletions
diff --git a/WebKit/gtk/webkit/webkitwebframe.cpp b/WebKit/gtk/webkit/webkitwebframe.cpp
index fcb5197..ca2b681 100644
--- a/WebKit/gtk/webkit/webkitwebframe.cpp
+++ b/WebKit/gtk/webkit/webkitwebframe.cpp
@@ -25,16 +25,11 @@
*/
#include "config.h"
-
-#include "webkitenumtypes.h"
#include "webkitwebframe.h"
-#include "webkitwebview.h"
-#include "webkitmarshal.h"
-#include "webkitprivate.h"
+#include "AXObjectCache.h"
#include "AccessibilityObjectWrapperAtk.h"
#include "AnimationController.h"
-#include "AXObjectCache.h"
#include "DOMObjectCache.h"
#include "DocumentLoader.h"
#include "DocumentLoaderGtk.h"
@@ -42,29 +37,37 @@
#include "FrameLoaderClientGtk.h"
#include "FrameTree.h"
#include "FrameView.h"
-#include <glib/gi18n-lib.h>
#include "GCController.h"
#include "GraphicsContext.h"
#include "GtkVersioning.h"
#include "HTMLFrameOwnerElement.h"
+#include "JSDOMBinding.h"
#include "JSDOMWindow.h"
#include "JSElement.h"
-#include "JSLock.h"
#include "PrintContext.h"
#include "RenderListItem.h"
-#include "RenderView.h"
#include "RenderTreeAsText.h"
-#include "JSDOMBinding.h"
+#include "RenderView.h"
#include "ScriptController.h"
#include "SubstituteData.h"
+#include "webkitenumtypes.h"
+#include "webkitnetworkrequestprivate.h"
+#include "webkitnetworkresponseprivate.h"
+#include "webkitmarshal.h"
+#include "webkitprivate.h"
+#include "webkitsecurityoriginprivate.h"
+#include "webkitwebframeprivate.h"
+#include "webkitwebview.h"
+#include "webkitwebviewprivate.h"
+#include <JavaScriptCore/APICast.h>
+#include <atk/atk.h>
+#include <glib/gi18n-lib.h>
+#include <wtf/text/CString.h>
+
#if ENABLE(SVG)
#include "SVGSMILElement.h"
#endif
-#include <atk/atk.h>
-#include <JavaScriptCore/APICast.h>
-#include <wtf/text/CString.h>
-
/**
* SECTION:webkitwebframe
* @short_description: The content of a #WebKitWebView
@@ -378,7 +381,7 @@ static void webkit_web_frame_class_init(WebKitWebFrameClass* frameClass)
static void webkit_web_frame_init(WebKitWebFrame* frame)
{
- WebKitWebFramePrivate* priv = WEBKIT_WEB_FRAME_GET_PRIVATE(frame);
+ WebKitWebFramePrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(frame, WEBKIT_TYPE_WEB_FRAME, WebKitWebFramePrivate);
// TODO: Move constructor code here.
frame->priv = priv;
@@ -401,7 +404,7 @@ WebKitWebFrame* webkit_web_frame_new(WebKitWebView* webView)
WebKitWebFrame* frame = WEBKIT_WEB_FRAME(g_object_new(WEBKIT_TYPE_WEB_FRAME, NULL));
WebKitWebFramePrivate* priv = frame->priv;
- WebKitWebViewPrivate* viewPriv = WEBKIT_WEB_VIEW_GET_PRIVATE(webView);
+ WebKitWebViewPrivate* viewPriv = webView->priv;
priv->webView = webView;
WebKit::FrameLoaderClient* client = new WebKit::FrameLoaderClient(frame);
@@ -742,155 +745,6 @@ WebKitWebDataSource* webkit_web_frame_get_provisional_data_source(WebKitWebFrame
return webkit_web_frame_get_data_source_from_core_loader(coreFrame->loader()->provisionalDocumentLoader());
}
-/**
- * webkit_web_frame_get_children:
- * @frame: a #WebKitWebFrame
- *
- * Return value: child frames of @frame
- */
-GSList* webkit_web_frame_get_children(WebKitWebFrame* frame)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), NULL);
-
- Frame* coreFrame = core(frame);
- if (!coreFrame)
- return NULL;
-
- GSList* children = NULL;
- for (Frame* child = coreFrame->tree()->firstChild(); child; child = child->tree()->nextSibling()) {
- FrameLoader* loader = child->loader();
- WebKit::FrameLoaderClient* client = static_cast<WebKit::FrameLoaderClient*>(loader->client());
- if (client)
- children = g_slist_append(children, client->webFrame());
- }
-
- return children;
-}
-
-/**
- * webkit_web_frame_get_inner_text:
- * @frame: a #WebKitWebFrame
- *
- * Return value: inner text of @frame
- */
-gchar* webkit_web_frame_get_inner_text(WebKitWebFrame* frame)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), NULL);
-
- Frame* coreFrame = core(frame);
- if (!coreFrame)
- return g_strdup("");
-
- FrameView* view = coreFrame->view();
-
- if (view && view->layoutPending())
- view->layout();
-
- Element* documentElement = coreFrame->document()->documentElement();
- String string = documentElement->innerText();
- return g_strdup(string.utf8().data());
-}
-
-/**
- * webkit_web_frame_dump_render_tree:
- * @frame: a #WebKitWebFrame
- *
- * Return value: Non-recursive render tree dump of @frame
- */
-gchar* webkit_web_frame_dump_render_tree(WebKitWebFrame* frame)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), NULL);
-
- Frame* coreFrame = core(frame);
- if (!coreFrame)
- return g_strdup("");
-
- FrameView* view = coreFrame->view();
-
- if (view && view->layoutPending())
- view->layout();
-
- String string = externalRepresentation(coreFrame);
- return g_strdup(string.utf8().data());
-}
-
-/**
- * webkit_web_frame_counter_value_for_element_by_id:
- * @frame: a #WebKitWebFrame
- * @id: an element ID string
- *
- * Return value: The counter value of element @id in @frame
- */
-gchar* webkit_web_frame_counter_value_for_element_by_id(WebKitWebFrame* frame, const gchar* id)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), NULL);
-
- Frame* coreFrame = core(frame);
- if (!coreFrame)
- return 0;
-
- Element* coreElement = coreFrame->document()->getElementById(AtomicString(id));
- if (!coreElement)
- return 0;
- String counterValue = counterValueForElement(coreElement);
- return g_strdup(counterValue.utf8().data());
-}
-
-/**
- * webkit_web_frame_page_number_for_element_by_id
- * @frame: a #WebKitWebFrame
- * @id: an element ID string
- * @pageWidth: width of a page
- * @pageHeight: height of a page
- *
- * Return value: The number of page where the specified element will be put
- */
-int webkit_web_frame_page_number_for_element_by_id(WebKitWebFrame* frame, const gchar* id, float pageWidth, float pageHeight)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), NULL);
-
- Frame* coreFrame = core(frame);
- if (!coreFrame)
- return -1;
-
- Element* coreElement = coreFrame->document()->getElementById(AtomicString(id));
- if (!coreElement)
- return -1;
- return PrintContext::pageNumberForElement(coreElement, FloatSize(pageWidth, pageHeight));
-}
-
-/**
- * webkit_web_frame_number_of_pages
- * @frame: a #WebKitWebFrame
- * @pageWidth: width of a page
- * @pageHeight: height of a page
- *
- * Return value: The number of pages to be printed.
- */
-int webkit_web_frame_number_of_pages(WebKitWebFrame* frame, float pageWidth, float pageHeight)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), NULL);
-
- Frame* coreFrame = core(frame);
- if (!coreFrame)
- return -1;
-
- return PrintContext::numberOfPages(coreFrame, FloatSize(pageWidth, pageHeight));
-}
-
-/**
- * webkit_web_frame_get_pending_unload_event_count:
- * @frame: a #WebKitWebFrame
- *
- * Return value: number of pending unload events
- */
-guint webkit_web_frame_get_pending_unload_event_count(WebKitWebFrame* frame)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), 0);
-
- return core(frame)->domWindow()->pendingUnloadEventListeners();
-}
-
static void begin_print_callback(GtkPrintOperation* op, GtkPrintContext* context, gpointer user_data)
{
PrintContext* printContext = reinterpret_cast<PrintContext*>(user_data);
@@ -1001,81 +855,6 @@ void webkit_web_frame_print(WebKitWebFrame* frame)
}
}
-bool webkit_web_frame_pause_animation(WebKitWebFrame* frame, const gchar* name, double time, const gchar* element)
-{
- ASSERT(core(frame));
- Element* coreElement = core(frame)->document()->getElementById(AtomicString(element));
- if (!coreElement || !coreElement->renderer())
- return false;
- return core(frame)->animation()->pauseAnimationAtTime(coreElement->renderer(), AtomicString(name), time);
-}
-
-bool webkit_web_frame_pause_transition(WebKitWebFrame* frame, const gchar* name, double time, const gchar* element)
-{
- ASSERT(core(frame));
- Element* coreElement = core(frame)->document()->getElementById(AtomicString(element));
- if (!coreElement || !coreElement->renderer())
- return false;
- return core(frame)->animation()->pauseTransitionAtTime(coreElement->renderer(), AtomicString(name), time);
-}
-
-bool webkit_web_frame_pause_svg_animation(WebKitWebFrame* frame, const gchar* animationId, double time, const gchar* elementId)
-{
- ASSERT(core(frame));
-#if ENABLE(SVG)
- Document* document = core(frame)->document();
- if (!document || !document->svgExtensions())
- return false;
- Element* coreElement = document->getElementById(AtomicString(animationId));
- if (!coreElement || !SVGSMILElement::isSMILElement(coreElement))
- return false;
- return document->accessSVGExtensions()->sampleAnimationAtTime(elementId, static_cast<SVGSMILElement*>(coreElement), time);
-#else
- return false;
-#endif
-}
-
-gchar* webkit_web_frame_marker_text_for_list_item(WebKitWebFrame* frame, JSContextRef context, JSValueRef nodeObject)
-{
- JSC::ExecState* exec = toJS(context);
- Element* element = toElement(toJS(exec, nodeObject));
- if (!element)
- return 0;
-
- return g_strdup(markerTextForListItem(element).utf8().data());
-}
-
-unsigned int webkit_web_frame_number_of_active_animations(WebKitWebFrame* frame)
-{
- Frame* coreFrame = core(frame);
- if (!coreFrame)
- return 0;
-
- AnimationController* controller = coreFrame->animation();
- if (!controller)
- return 0;
-
- return controller->numberOfActiveAnimations();
-}
-
-void webkit_web_frame_suspend_animations(WebKitWebFrame* frame)
-{
- Frame* coreFrame = core(frame);
- if (!coreFrame)
- return;
-
- coreFrame->animation()->suspendAnimations();
-}
-
-void webkit_web_frame_resume_animations(WebKitWebFrame* frame)
-{
- Frame* coreFrame = core(frame);
- if (!coreFrame)
- return;
-
- coreFrame->animation()->resumeAnimations();
-}
-
gchar* webkit_web_frame_get_response_mime_type(WebKitWebFrame* frame)
{
Frame* coreFrame = core(frame);
@@ -1100,56 +879,6 @@ WebKitLoadStatus webkit_web_frame_get_load_status(WebKitWebFrame* frame)
return priv->loadStatus;
}
-void webkit_web_frame_clear_main_frame_name(WebKitWebFrame* frame)
-{
- g_return_if_fail(WEBKIT_IS_WEB_FRAME(frame));
-
- core(frame)->tree()->clearName();
-}
-
-void webkit_gc_collect_javascript_objects()
-{
- gcController().garbageCollectNow();
-}
-
-void webkit_gc_collect_javascript_objects_on_alternate_thread(gboolean waitUntilDone)
-{
- gcController().garbageCollectOnAlternateThreadForDebugging(waitUntilDone);
-}
-
-gsize webkit_gc_count_javascript_objects()
-{
- JSC::JSLock lock(JSC::SilenceAssertionsOnly);
- return JSDOMWindow::commonJSGlobalData()->heap.objectCount();
-
-}
-
-AtkObject* webkit_web_frame_get_focused_accessible_element(WebKitWebFrame* frame)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), NULL);
-
-#if HAVE(ACCESSIBILITY)
- if (!AXObjectCache::accessibilityEnabled())
- AXObjectCache::enableAccessibility();
-
- WebKitWebFramePrivate* priv = frame->priv;
- if (!priv->coreFrame || !priv->coreFrame->document())
- return NULL;
-
- RenderView* root = toRenderView(priv->coreFrame->document()->renderer());
- if (!root)
- return NULL;
-
- AtkObject* wrapper = priv->coreFrame->document()->axObjectCache()->getOrCreate(root)->wrapper();
- if (!wrapper)
- return NULL;
-
- return webkit_accessible_get_focused_element(WEBKIT_ACCESSIBLE(wrapper));
-#else
- return NULL;
-#endif
-}
-
GtkPolicyType webkit_web_frame_get_horizontal_scrollbar_policy(WebKitWebFrame* frame)
{
g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), GTK_POLICY_AUTOMATIC);
@@ -1216,19 +945,6 @@ WebKitSecurityOrigin* webkit_web_frame_get_security_origin(WebKitWebFrame* frame
return priv->origin;
}
-void webkit_web_frame_layout(WebKitWebFrame* frame)
-{
- Frame* coreFrame = core(frame);
- if (!coreFrame)
- return;
-
- FrameView* view = coreFrame->view();
- if (!view)
- return;
-
- view->layout();
-}
-
/**
* webkit_web_frame_get_network_response:
* @frame: a #WebKitWebFrame
@@ -1252,5 +968,34 @@ WebKitNetworkResponse* webkit_web_frame_get_network_response(WebKitWebFrame* fra
if (!loader)
return NULL;
- return webkit_network_response_new_with_core_response(loader->response());
+ return kitNew(loader->response());
+}
+
+namespace WebKit {
+
+WebKitWebView* getViewFromFrame(WebKitWebFrame* frame)
+{
+ WebKitWebFramePrivate* priv = frame->priv;
+ return priv->webView;
+}
+
+WebCore::Frame* core(WebKitWebFrame* frame)
+{
+ if (!frame)
+ return 0;
+
+ WebKitWebFramePrivate* priv = frame->priv;
+ return priv ? priv->coreFrame : 0;
+}
+
+WebKitWebFrame* kit(WebCore::Frame* coreFrame)
+{
+ if (!coreFrame)
+ return 0;
+
+ ASSERT(coreFrame->loader());
+ WebKit::FrameLoaderClient* client = static_cast<WebKit::FrameLoaderClient*>(coreFrame->loader()->client());
+ return client ? client->webFrame() : 0;
+}
+
}