diff options
Diffstat (limited to 'WebKit/efl')
-rw-r--r-- | WebKit/efl/EWebLauncher/main.c | 4 | ||||
-rw-r--r-- | WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp | 25 | ||||
-rw-r--r-- | WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp | 11 | ||||
-rw-r--r-- | WebKit/efl/ewk/ewk_frame.cpp | 25 | ||||
-rw-r--r-- | WebKit/efl/ewk/ewk_private.h | 2 | ||||
-rw-r--r-- | WebKit/efl/ewk/ewk_view.cpp | 6 |
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) |