rendered paste bodyIndex: WebCore/Projects/gdk/webcore-gdk.bkl
===================================================================
--- WebCore/Projects/gdk/webcore-gdk.bkl (revision 21182)
+++ WebCore/Projects/gdk/webcore-gdk.bkl (working copy)
@@ -60,6 +60,7 @@
platform/gdk/FontGdk.cpp
platform/gdk/FontPlatformDataGdk.cpp
platform/gdk/FrameGdk.cpp
+ platform/gdk/FrameGdkSignals.cpp
platform/gdk/GlyphPageTreeNodeGdk.cpp
platform/gdk/KeyEventGdk.cpp
platform/gdk/MimeTypeRegistryGdk.cpp
Index: WebCore/loader/gdk/FrameLoaderClientGdk.cpp
===================================================================
--- WebCore/loader/gdk/FrameLoaderClientGdk.cpp (revision 21182)
+++ WebCore/loader/gdk/FrameLoaderClientGdk.cpp (working copy)
@@ -36,6 +36,7 @@
#include "NotImplementedGdk.h"
#include "PlatformString.h"
#include "ResourceRequest.h"
+#include "FrameGdkSignals.h"
#include <stdio.h>
namespace WebCore {
@@ -44,6 +45,7 @@ FrameLoaderClientGdk::FrameLoaderClientG
: m_frame(0)
, m_firstData(false)
{
+ m_framesignals = FrameGdkSignals_new();
}
Frame* FrameLoaderClientGdk::frame()
@@ -51,6 +53,11 @@ Frame* FrameLoaderClientGdk::frame()
return static_cast<Frame*>(m_frame);
}
+FrameGdkSignals* FrameLoaderClientGdk::framesignals()
+{
+ return static_cast<FrameGdkSignals*>(m_framesignals);
+}
+
String FrameLoaderClientGdk::userAgent(const KURL&)
{
return "Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/420+ (KHTML, like Gecko)";
@@ -103,17 +110,26 @@ void FrameLoaderClientGdk::assignIdentif
void FrameLoaderClientGdk::postProgressStartedNotification()
{
- // no progress notification for now
+ if(!m_frame || !m_frame->page() || !m_framesignals)
+ return;
+
+ g_signal_emit_by_name (framesignals(), "load-started");
}
void FrameLoaderClientGdk::postProgressEstimateChangedNotification()
{
- // no progress notification for now
+ if(!m_frame || !m_frame->page())
+ return;
+
+ g_signal_emit_by_name (framesignals(), "load-changed");
}
void FrameLoaderClientGdk::postProgressFinishedNotification()
{
- // no progress notification for now
+ if(!m_frame || !m_frame->page())
+ return;
+
+ g_signal_emit_by_name (framesignals(), "load-finished");
}
void FrameLoaderClientGdk::frameLoaderDestroyed()
Index: WebCore/loader/gdk/FrameLoaderClientGdk.h
===================================================================
--- WebCore/loader/gdk/FrameLoaderClientGdk.h (revision 21182)
+++ WebCore/loader/gdk/FrameLoaderClientGdk.h (working copy)
@@ -32,6 +32,7 @@
#include "FrameLoaderClient.h"
#include "ResourceResponse.h"
+#include "FrameGdkSignals.h"
namespace WebCore {
@@ -40,11 +41,13 @@ namespace WebCore {
class FrameLoaderClientGdk : public FrameLoaderClient {
public:
FrameLoaderClientGdk();
- virtual ~FrameLoaderClientGdk() { }
+ virtual ~FrameLoaderClientGdk() { g_object_unref(m_framesignals);}
virtual void frameLoaderDestroyed();
void setFrame(FrameGdk *frame) { m_frame = frame; }
Frame* frame();
+ FrameGdkSignals* framesignals();
+
virtual bool hasWebView() const;
virtual bool hasFrameView() const;
@@ -179,6 +182,7 @@ namespace WebCore {
private:
FrameGdk *m_frame;
ResourceResponse m_response;
+ FrameGdkSignals *m_framesignals;
bool m_firstData;
};
Index: WebKitTools/GdkLauncher/main.cpp
===================================================================
--- WebKitTools/GdkLauncher/main.cpp (revision 21182)
+++ WebKitTools/GdkLauncher/main.cpp (working copy)
@@ -12,6 +12,8 @@
#include "Page.h"
#include "PlatformString.h"
#include "ResourceHandleManager.h"
+#include "CString.h"
+#include "FrameGdkSignals.h"
#if SVG_SUPPORT
#include "SVGNames.h"
@@ -115,6 +117,21 @@ static void menuMainQuitCallback(gpointe
gtk_main_quit();
}
+static void loadFinishedCallback(gpointer data)
+{
+ printf("****************** DONE !!!! ************\n");
+}
+
+static void loadStartedCallback(gpointer data)
+{
+ printf("****************** START !!!! ************\n");
+}
+
+static void loadChangedCallback(gpointer data)
+{
+ gtk_entry_set_text(GTK_ENTRY(gURLBarEntry), gFrame->loader()->url().url().latin1());
+}
+
int main(int argc, char* argv[])
{
gtk_init(&argc, &argv);
@@ -207,7 +224,12 @@ int main(int argc, char* argv[])
gFrame->setView(frameView);
frameView->ScrollView::setDrawable(frameWindow->window);
+ g_signal_connect(G_OBJECT(frameLoaderClient->framesignals()), "load-started", G_CALLBACK(loadStartedCallback), NULL);
+ g_signal_connect(G_OBJECT(frameLoaderClient->framesignals()), "load-finished", G_CALLBACK(loadFinishedCallback), NULL);
+ g_signal_connect(G_OBJECT(frameLoaderClient->framesignals()), "load-changed", G_CALLBACK(loadChangedCallback), NULL);
+
gFrame->loader()->load(ResourceRequest(url));
+
gtk_main();
#if 0 // FIXME: this crashes at the moment. needs to provide DragClient
delete page;