summaryrefslogtreecommitdiffstats
path: root/WebKit/efl
diff options
context:
space:
mode:
Diffstat (limited to 'WebKit/efl')
-rw-r--r--WebKit/efl/EWebLauncher/main.c4
-rw-r--r--WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp25
-rw-r--r--WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp11
-rw-r--r--WebKit/efl/ewk/ewk_frame.cpp25
-rw-r--r--WebKit/efl/ewk/ewk_private.h2
-rw-r--r--WebKit/efl/ewk/ewk_view.cpp6
6 files changed, 44 insertions, 29 deletions
diff --git a/WebKit/efl/EWebLauncher/main.c b/WebKit/efl/EWebLauncher/main.c
index d36c807..6d484e4a 100644
--- a/WebKit/efl/EWebLauncher/main.c
+++ b/WebKit/efl/EWebLauncher/main.c
@@ -638,7 +638,7 @@ closeWindow(Ecore_Evas *ee)
free(app);
}
-static int
+static Eina_Bool
main_signal_exit(void *data, int ev_type, void *ev)
{
ELauncher *app;
@@ -649,7 +649,7 @@ main_signal_exit(void *data, int ev_type, void *ev)
}
if (!eina_list_count(windows))
ecore_main_loop_quit();
- return 1;
+ return EINA_TRUE;
}
static char *
diff --git a/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp b/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp
index 8ec65b9..5fef33e 100644
--- a/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp
+++ b/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp
@@ -49,9 +49,9 @@
#include "PlatformString.h"
#include "WindowFeatures.h"
#include "ewk_private.h"
-#include <wtf/text/CString.h>
-
+#include <Ecore_Evas.h>
#include <Evas.h>
+#include <wtf/text/CString.h>
using namespace WebCore;
@@ -87,13 +87,28 @@ void ChromeClientEfl::focusedNodeChanged(Node*)
FloatRect ChromeClientEfl::windowRect()
{
- notImplemented();
- return FloatRect();
+ Ecore_Evas* ee = 0;
+ int x, y, w, h;
+
+ if (!m_view)
+ return FloatRect();
+
+ ee = ecore_evas_ecore_evas_get(evas_object_evas_get(m_view));
+ ecore_evas_geometry_get(ee, &x, &y, &w, &h);
+ return FloatRect(x, y, w, h);
}
void ChromeClientEfl::setWindowRect(const FloatRect& rect)
{
- notImplemented();
+ Ecore_Evas* ee = 0;
+ IntRect intrect = IntRect(rect);
+
+ if (!m_view)
+ return;
+
+ ee = ecore_evas_ecore_evas_get(evas_object_evas_get(m_view));
+ ecore_evas_move(ee, intrect.x(), intrect.y());
+ ecore_evas_resize(ee, intrect.width(), intrect.height());
}
FloatRect ChromeClientEfl::pageRect()
diff --git a/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp b/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp
index 438d6a0..50356e9 100644
--- a/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp
+++ b/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp
@@ -749,9 +749,16 @@ void FrameLoaderClientEfl::dispatchDidFailLoad(const ResourceError& err)
m_loadError.failingURL().utf8().data());
}
-void FrameLoaderClientEfl::download(ResourceHandle*, const ResourceRequest&, const ResourceRequest&, const ResourceResponse&)
+void FrameLoaderClientEfl::download(ResourceHandle*, const ResourceRequest& request, const ResourceRequest&, const ResourceResponse&)
{
- notImplemented();
+ if (!m_view)
+ return;
+
+ CString url = request.url().prettyURL().utf8();
+ Ewk_Download download;
+
+ download.url = url.data();
+ ewk_view_download_request(m_view, &download);
}
// copied from WebKit/Misc/WebKitErrors[Private].h
diff --git a/WebKit/efl/ewk/ewk_frame.cpp b/WebKit/efl/ewk/ewk_frame.cpp
index 6cbcefe..ec56221 100644
--- a/WebKit/efl/ewk/ewk_frame.cpp
+++ b/WebKit/efl/ewk/ewk_frame.cpp
@@ -43,6 +43,7 @@
#include "ScriptValue.h"
#include "SharedBuffer.h"
#include "SubstituteData.h"
+#include "ZoomMode.h"
#include "WindowsKeyboardCodes.h"
#include "ewk_private.h"
#include <wtf/text/CString.h>
@@ -68,7 +69,7 @@ struct Ewk_Frame_Smart_Data {
struct {
Evas_Coord w, h;
} contents_size;
- Eina_Bool zoom_text_only:1;
+ WebCore::ZoomMode zoom_mode;
Eina_Bool editable:1;
};
@@ -989,15 +990,10 @@ Eina_Bool ewk_frame_zoom_set(Evas_Object* o, float zoom)
{
EWK_FRAME_SD_GET_OR_RETURN(o, sd, EINA_FALSE);
EINA_SAFETY_ON_NULL_RETURN_VAL(sd->frame, EINA_FALSE);
- WebCore::ZoomMode zoomMode;
- if (sd->zoom_text_only)
- zoomMode = WebCore::ZoomTextOnly;
- else
- zoomMode = WebCore::ZoomPage;
WebCore::FrameView* view = sd->frame->view();
if (!view)
return EINA_FALSE;
- view->setZoomFactor(zoom, zoomMode);
+ view->setZoomFactor(zoom, sd->zoom_mode);
return EINA_TRUE;
}
@@ -1011,7 +1007,7 @@ Eina_Bool ewk_frame_zoom_set(Evas_Object* o, float zoom)
Eina_Bool ewk_frame_zoom_text_only_get(const Evas_Object* o)
{
EWK_FRAME_SD_GET_OR_RETURN(o, sd, EINA_FALSE);
- return sd->zoom_text_only;
+ return sd->zoom_mode == WebCore::ZoomTextOnly;
}
/**
@@ -1026,20 +1022,15 @@ Eina_Bool ewk_frame_zoom_text_only_set(Evas_Object* o, Eina_Bool setting)
{
EWK_FRAME_SD_GET_OR_RETURN(o, sd, EINA_FALSE);
EINA_SAFETY_ON_NULL_RETURN_VAL(sd->frame, EINA_FALSE);
- setting = !!setting;
- if (sd->zoom_text_only == setting)
+ WebCore::ZoomMode zm = setting ? WebCore::ZoomTextOnly : WebCore::ZoomPage;
+ if (sd->zoom_mode == zm)
return EINA_TRUE;
- sd->zoom_text_only = setting;
- WebCore::ZoomMode zoomMode;
- if (sd->zoom_text_only)
- zoomMode = WebCore::ZoomTextOnly;
- else
- zoomMode = WebCore::ZoomPage;
+ sd->zoom_mode = zm;
WebCore::FrameView* view = sd->frame->view();
if (!view)
return EINA_FALSE;
- view->setZoomFactor(view->zoomFactor(), zoomMode);
+ view->setZoomFactor(view->zoomFactor(), sd->zoom_mode);
return EINA_TRUE;
}
diff --git a/WebKit/efl/ewk/ewk_private.h b/WebKit/efl/ewk/ewk_private.h
index facd6aa..83eef91 100644
--- a/WebKit/efl/ewk/ewk_private.h
+++ b/WebKit/efl/ewk/ewk_private.h
@@ -96,6 +96,8 @@ WTF::PassRefPtr<WebCore::Widget> ewk_view_plugin_create(Evas_Object* o, Evas_Obj
void ewk_view_popup_new(Evas_Object *o, WebCore::PopupMenuClient* client, int selected, const WebCore::IntRect& rect);
+void ewk_view_download_request(Evas_Object *o, Ewk_Download *download);
+
Ewk_History *ewk_history_new(WebCore::BackForwardList *history);
void ewk_history_free(Ewk_History *history);
diff --git a/WebKit/efl/ewk/ewk_view.cpp b/WebKit/efl/ewk/ewk_view.cpp
index 8d66734..ca26f64 100644
--- a/WebKit/efl/ewk/ewk_view.cpp
+++ b/WebKit/efl/ewk/ewk_view.cpp
@@ -880,7 +880,7 @@ static float _ewk_view_zoom_animated_current(Ewk_View_Private_Data* priv)
+ priv->animated_zoom.zoom.start);
}
-static int _ewk_view_zoom_animator_cb(void* data)
+static Eina_Bool _ewk_view_zoom_animator_cb(void* data)
{
Ewk_View_Smart_Data* sd = (Ewk_View_Smart_Data*)data;
Evas_Coord cx, cy;
@@ -900,12 +900,12 @@ static int _ewk_view_zoom_animator_cb(void* data)
|| (now < priv->animated_zoom.time.start)) {
_ewk_view_zoom_animated_finish(sd);
ewk_view_zoom_set(sd->self, priv->animated_zoom.zoom.end, cx, cy);
- return 0;
+ return EINA_FALSE;
}
sd->animated_zoom.zoom.current = _ewk_view_zoom_animated_current(priv);
sd->api->zoom_weak_set(sd, sd->animated_zoom.zoom.current, cx, cy);
- return 1;
+ return EINA_TRUE;
}
static void _ewk_view_zoom_animation_start(Ewk_View_Smart_Data* sd)