Changeset 62666 in webkit


Ignore:
Timestamp:
Jul 7, 2010 7:49:12 AM (14 years ago)
Author:
commit-queue@webkit.org
Message:

2010-07-07 Gyuyoung Kim <gyuyoung.kim@samsung.com>

Reviewed by Kenneth Rohde Christiansen.

[EFL] EFLWebKit doesn't support viewport meta tag.
Support viewport meta tag on EFL Port.
https://bugs.webkit.org/show_bug.cgi?id=40278

  • efl/EWebLauncher/main.c: Process 'viewport,changed' signal. (viewport_set): (on_viewport_changed): Add a callback function for the 'viewport,changed' signal. (browserCreate): Register the callback function for the 'viewport,changed' signal.
  • efl/WebCoreSupport/ChromeClientEfl.cpp: Implement method to process viewport tag. (WebCore::ChromeClientEfl::didReceiveViewportArguments):
  • efl/WebCoreSupport/ChromeClientEfl.h: Define method to process viewport tag.
  • efl/WebCoreSupport/FrameLoaderClientEfl.cpp: (WebCore::FrameLoaderClientEfl::FrameLoaderClientEfl): Implement a function to set layout when website doesn't contain viewport tag. (WebCore::FrameLoaderClientEfl::dispatchDidCommitLoad): (WebCore::FrameLoaderClientEfl::dispatchDidFirstLayout):
  • efl/WebCoreSupport/FrameLoaderClientEfl.h: (WebCore::FrameLoaderClientEfl::setInitLayoutCompleted): (WebCore::FrameLoaderClientEfl::getInitLayoutCompleted):
  • efl/ewk/ewk_private.h: Added internal APIs to process viewport tag.
  • efl/ewk/ewk_view.cpp: Added APIs to process and to handle viewport tag. (_ewk_view_priv_new): (ewk_view_fixed_layout_size_set): (ewk_view_zoom_set): (ewk_view_zoom_weak_set): (ewk_view_zoom_animated_set): (ewk_view_viewport_set): Reports that viewport has changed. (ewk_view_viewport_get): Reports that viewport has changed. (ewk_view_zoom_range_set): Sets the zoom range. (ewk_view_zoom_range_min_get): Gets minimum value of zoom range. (ewk_view_zoom_range_max_get): Gets maximum value of zoom range. (ewk_view_user_scalable_set): Sets if zoom is enabled. (ewk_view_user_scalable_get): Gets if zoom is enabled.
  • efl/ewk/ewk_view.h:
Location:
trunk/WebKit
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebKit/ChangeLog

    r62663 r62666  
     12010-07-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
     2
     3        Reviewed by Kenneth Rohde Christiansen.
     4
     5        [EFL] EFLWebKit doesn't support viewport meta tag.
     6        Support viewport meta tag on EFL Port.
     7        https://bugs.webkit.org/show_bug.cgi?id=40278
     8
     9        * efl/EWebLauncher/main.c: Process 'viewport,changed' signal.
     10        (viewport_set):
     11        (on_viewport_changed): Add a callback function for the 'viewport,changed' signal.
     12        (browserCreate): Register the callback function for the 'viewport,changed' signal.
     13        * efl/WebCoreSupport/ChromeClientEfl.cpp: Implement method to process viewport tag.
     14        (WebCore::ChromeClientEfl::didReceiveViewportArguments):
     15        * efl/WebCoreSupport/ChromeClientEfl.h: Define method to process viewport tag.
     16        * efl/WebCoreSupport/FrameLoaderClientEfl.cpp:
     17        (WebCore::FrameLoaderClientEfl::FrameLoaderClientEfl): Implement a function to set layout
     18        when website doesn't contain viewport tag.
     19        (WebCore::FrameLoaderClientEfl::dispatchDidCommitLoad):
     20        (WebCore::FrameLoaderClientEfl::dispatchDidFirstLayout):
     21        * efl/WebCoreSupport/FrameLoaderClientEfl.h:
     22        (WebCore::FrameLoaderClientEfl::setInitLayoutCompleted):
     23        (WebCore::FrameLoaderClientEfl::getInitLayoutCompleted):
     24        * efl/ewk/ewk_private.h: Added internal APIs to process viewport tag.
     25        * efl/ewk/ewk_view.cpp: Added APIs to process and to handle viewport tag.
     26        (_ewk_view_priv_new):
     27        (ewk_view_fixed_layout_size_set):
     28        (ewk_view_zoom_set):
     29        (ewk_view_zoom_weak_set):
     30        (ewk_view_zoom_animated_set):
     31        (ewk_view_viewport_set): Reports that viewport has changed.
     32        (ewk_view_viewport_get): Reports that viewport has changed.
     33        (ewk_view_zoom_range_set): Sets the zoom range.
     34        (ewk_view_zoom_range_min_get): Gets minimum value of zoom range.
     35        (ewk_view_zoom_range_max_get): Gets maximum value of zoom range.
     36        (ewk_view_user_scalable_set): Sets if zoom is enabled.
     37        (ewk_view_user_scalable_get): Gets if zoom is enabled.
     38        * efl/ewk/ewk_view.h:
     39
    1402010-07-07  Rafael Antognolli  <antognolli@profusion.mobi>
    241
  • trunk/WebKit/efl/EWebLauncher/main.c

    r62015 r62666  
    4848#define DEFAULT_WIDTH      800
    4949#define DEFAULT_HEIGHT     600
     50#define DEFAULT_ZOOM_INIT  1.0
    5051
    5152#define info(format, args...)       \
     
    126127};
    127128
     129typedef struct _Viewport {
     130    int w;
     131    int h;
     132    float initScale;
     133    float minScale;
     134    float maxScale;
     135    Eina_Bool userScalable;
     136} Viewport;
     137
    128138typedef struct _ELauncher {
    129139    Ecore_Evas *ee;
     
    133143    const char *theme;
    134144    const char *userAgent;
     145    Viewport viewport;
    135146} ELauncher;
    136147
     
    226237}
    227238
     239/**
     240 * This is en example function to adjust viewport via viewport tag's arguments.
     241 * Application can invoke this function in order to adjust viewport tag when it is required.
     242 */
     243static void
     244viewport_set()
     245{
     246    ELauncher *app;
     247    app = (ELauncher*) eina_list_data_get(windows);
     248
     249    ewk_view_fixed_layout_size_set(app->browser, app->viewport.w, app->viewport.h);
     250    ewk_view_zoom_set(app->browser, app->viewport.initScale, 0, 0);
     251    if (!ewk_view_zoom_range_set(app->browser, app->viewport.minScale, app->viewport.maxScale))
     252        info(" Fail to set zoom range. minScale = %f, maxScale = %f\n", app->viewport.minScale, app->viewport.maxScale);
     253    ewk_view_user_scalable_set(app->browser, app->viewport.userScalable);
     254}
     255
    228256static void
    229257on_title_changed(void *user_data, Evas_Object *webview, void *event_info)
     
    344372    if (text && *text != '\0')
    345373        info("%s\n", text);
     374}
     375
     376/**
     377 * "viewport,changed" signal will be always emitted regardless of the viewport existence.
     378 *
     379 * If you don't want to process the viewport tag, you can either do nothing in this callback
     380 * or simply ignore the signal in your application.
     381 *
     382 * More information about this can be found at http://developer.apple.com/safari/library/docum
     383 * entation/appleapplications/reference/safariwebcontent/usingtheviewport/usingtheviewport.html
     384 */
     385static void
     386on_viewport_changed(void* user_data, Evas_Object* webview, void* event_info)
     387{
     388    ELauncher *app = (ELauncher *)user_data;
     389
     390    float w, h, initScale, minScale, maxScale, userScalable;
     391
     392    ewk_view_viewport_get(webview, &w, &h, &initScale, &maxScale, &minScale, &userScalable);
     393
     394    /**
     395     * If there is no argument in viewport tag, argument's value is -1.
     396     */
     397    if ((int)w == -1)
     398        w = DEFAULT_WIDTH;
     399    if ((int)h == -1)
     400        h = DEFAULT_HEIGHT;
     401    if ((int)initScale == -1)
     402        initScale = DEFAULT_ZOOM_INIT; // There's no scale separated from zooming in webkit-efl.
     403    if ((int)minScale == -1)
     404        minScale = ewk_view_zoom_range_min_get(webview);
     405    if ((int)maxScale == -1)
     406        maxScale = ewk_view_zoom_range_max_get(webview);
     407    if ((int)userScalable == -1)
     408        userScalable = EINA_TRUE;
     409
     410    app->viewport.w = (int)w;
     411    app->viewport.h = (int)h;
     412    app->viewport.initScale = initScale;
     413    app->viewport.minScale = minScale;
     414    app->viewport.maxScale = maxScale;
     415    app->viewport.userScalable = (Eina_Bool)userScalable;
    346416}
    347417
     
    580650    evas_object_smart_callback_add(app->browser, "load,progress", on_progress, app);
    581651    evas_object_smart_callback_add(app->browser, "load,finished", on_load_finished, app);
     652    evas_object_smart_callback_add(app->browser, "viewport,changed", on_viewport_changed, app);
    582653
    583654    evas_object_smart_callback_add(app->browser, "toolbars,visible,set", on_toolbars_visible_set, app);
  • trunk/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp

    r62180 r62666  
    4848#include "NotImplemented.h"
    4949#include "PlatformString.h"
     50#include "ViewportArguments.h"
    5051#include "WindowFeatures.h"
    5152#include "ewk_private.h"
     
    505506}
    506507
    507 }
     508void ChromeClientEfl::didReceiveViewportArguments(Frame* frame, const ViewportArguments& arguments) const
     509{
     510    FrameLoaderClientEfl* client = static_cast<FrameLoaderClientEfl*>(frame->loader()->client());
     511    if (client->getInitLayoutCompleted())
     512        return;
     513
     514    ewk_view_viewport_set(m_view, arguments.width, arguments.height, arguments.initialScale, arguments.minimumScale, arguments.maximumScale, arguments.userScalable);
     515}
     516
     517}
  • trunk/WebKit/efl/WebCoreSupport/ChromeClientEfl.h

    r61331 r62666  
    136136    virtual void iconForFiles(const Vector<String, 0u>&, PassRefPtr<FileChooser>);
    137137
     138    virtual void didReceiveViewportArguments(Frame* frame, const ViewportArguments& arguments) const;
     139
    138140    Evas_Object* m_view;
    139141    KURL m_hoveredLinkURL;
  • trunk/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp

    r62006 r62666  
    5050#include "RenderPart.h"
    5151#include "ResourceRequest.h"
     52#include "ViewportArguments.h"
    5253#include "ewk_private.h"
    5354#include <wtf/text/CString.h>
     
    7172    , m_pluginView(0)
    7273    , m_hasSentResponseToPlugin(false)
     74    , m_initLayoutCompleted(false)
    7375{
    7476}
     
    576578void FrameLoaderClientEfl::dispatchDidCommitLoad()
    577579{
     580    m_initLayoutCompleted = false;
     581
    578582    ewk_frame_uri_changed(m_frame);
    579583    if (ewk_view_frame_main_get(m_view) != m_frame)
     
    581585    ewk_view_title_set(m_view, 0);
    582586    ewk_view_uri_changed(m_view);
     587
     588    ViewportArguments arguments;
     589    ewk_view_viewport_set(m_view, arguments.width, arguments.height, arguments.initialScale, arguments.minimumScale, arguments.maximumScale, arguments.userScalable);
    583590}
    584591
     
    591598{
    592599    // emit m_frame->initialLayoutCompleted();
    593     notImplemented();
     600    m_initLayoutCompleted = true;
    594601}
    595602
  • trunk/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.h

    r58686 r62666  
    5656    const String& customUserAgent() const;
    5757
     58    void setInitLayoutCompleted(bool completed) { m_initLayoutCompleted = completed; }
     59    bool getInitLayoutCompleted() { return m_initLayoutCompleted; }
     60
    5861    virtual bool hasWebView() const;
    5962    virtual bool hasFrameView() const;
     
    214217    PluginView* m_pluginView;
    215218    bool m_hasSentResponseToPlugin;
     219
     220    bool m_initLayoutCompleted;
    216221};
    217222
  • trunk/WebKit/efl/ewk/ewk_private.h

    r62006 r62666  
    9696
    9797void             ewk_view_popup_new(Evas_Object *o, WebCore::PopupMenuClient* client, int selected, const WebCore::IntRect& rect);
     98void ewk_view_viewport_set(Evas_Object *o, float w, float h, float init_scale, float max_scale, float min_scale, float user_scalable);
    9899
    99100void             ewk_view_download_request(Evas_Object *o, Ewk_Download *download);
  • trunk/WebKit/efl/ewk/ewk_view.cpp

    r62015 r62666  
    103103        Eina_Bool private_browsing:1;
    104104        Eina_Bool caret_browsing:1;
     105        struct {
     106            float w;
     107            float h;
     108            float init_scale;
     109            float min_scale;
     110            float max_scale;
     111            float user_scalable;
     112        } viewport;
     113        struct {
     114            float min_scale;
     115            float max_scale;
     116            Eina_Bool user_scalable:1;
     117        } zoom_range;
    105118    } settings;
    106119    struct {
     
    577590    priv->settings.caret_browsing = priv->page_settings->caretBrowsingEnabled();
    578591
     592    // Since there's no scale separated from zooming in webkit-efl, this functionality of
     593    // viewport meta tag is implemented using zoom. When scale zoom is supported by webkit-efl,
     594    // this functionality will be modified by the scale zoom patch.
     595    priv->settings.zoom_range.min_scale = ZOOM_MIN;
     596    priv->settings.zoom_range.max_scale = ZOOM_MAX;
     597
    579598    priv->main_frame = _ewk_view_core_frame_new(sd, priv, 0).get();
    580599    if (!priv->main_frame) {
     
    10021021    EWK_VIEW_SD_GET_OR_RETURN(o, sd);
    10031022    EWK_VIEW_PRIV_GET_OR_RETURN(sd, priv);
     1023
     1024    WebCore::FrameLoaderClientEfl* client = static_cast<WebCore::FrameLoaderClientEfl*>(priv->main_frame->loader()->client());
     1025    if (!client->getInitLayoutCompleted())
     1026        return;
     1027
    10041028    WebCore::FrameView* view = sd->_priv->main_frame->view();
    10051029    if (w <= 0 && h <= 0) {
     
    17581782{
    17591783    EWK_VIEW_SD_GET_OR_RETURN(o, sd, EINA_FALSE);
     1784    EWK_VIEW_PRIV_GET(sd, priv);
     1785
    17601786    EINA_SAFETY_ON_NULL_RETURN_VAL(sd->api, EINA_FALSE);
    17611787    EINA_SAFETY_ON_NULL_RETURN_VAL(sd->api->zoom_set, EINA_FALSE);
    1762     if (zoom < ZOOM_MIN) {
    1763         WRN("zoom level is < %f : %f", (double)ZOOM_MIN, (double)zoom);
     1788
     1789    if (!priv->settings.zoom_range.user_scalable) {
     1790        WRN("userScalable is false");
    17641791        return EINA_FALSE;
    17651792    }
    1766     if (zoom > ZOOM_MAX) {
    1767         WRN("zoom level is > %f : %f", (double)ZOOM_MAX, (double)zoom);
     1793
     1794    if (zoom < priv->settings.zoom_range.min_scale) {
     1795        WRN("zoom level is < %f : %f", (double)priv->settings.zoom_range.min_scale, (double)zoom);
     1796        return EINA_FALSE;
     1797    }
     1798    if (zoom > priv->settings.zoom_range.max_scale) {
     1799        WRN("zoom level is > %f : %f", (double)priv->settings.zoom_range.max_scale, (double)zoom);
    17681800        return EINA_FALSE;
    17691801    }
     
    18281860{
    18291861    EWK_VIEW_SD_GET_OR_RETURN(o, sd, EINA_FALSE);
     1862    EWK_VIEW_PRIV_GET(sd, priv);
     1863
    18301864    EINA_SAFETY_ON_NULL_RETURN_VAL(sd->api, EINA_FALSE);
    18311865    EINA_SAFETY_ON_NULL_RETURN_VAL(sd->api->zoom_weak_set, EINA_FALSE);
    1832     if (zoom < ZOOM_MIN) {
    1833         WRN("zoom level is < %f : %f", (double)ZOOM_MIN, (double)zoom);
     1866
     1867    if (!priv->settings.zoom_range.user_scalable) {
     1868        WRN("userScalable is false");
    18341869        return EINA_FALSE;
    18351870    }
    1836     if (zoom > ZOOM_MAX) {
    1837         WRN("zoom level is > %f : %f", (double)ZOOM_MAX, (double)zoom);
     1871
     1872    if (zoom < priv->settings.zoom_range.min_scale) {
     1873        WRN("zoom level is < %f : %f", (double)priv->settings.zoom_range.min_scale, (double)zoom);
     1874        return EINA_FALSE;
     1875    }
     1876    if (zoom > priv->settings.zoom_range.max_scale) {
     1877        WRN("zoom level is > %f : %f", (double)priv->settings.zoom_range.max_scale, (double)zoom);
    18381878        return EINA_FALSE;
    18391879    }
     
    19782018    EINA_SAFETY_ON_NULL_RETURN_VAL(sd->api->zoom_weak_set, EINA_FALSE);
    19792019
    1980     if (zoom < ZOOM_MIN) {
    1981         WRN("zoom level is < %f : %f", (double)ZOOM_MIN, (double)zoom);
     2020    if (!priv->settings.zoom_range.user_scalable) {
     2021        WRN("userScalable is false");
    19822022        return EINA_FALSE;
    19832023    }
    1984     if (zoom > ZOOM_MAX) {
    1985         WRN("zoom level is > %f : %f", (double)ZOOM_MAX, (double)zoom);
     2024
     2025    if (zoom < priv->settings.zoom_range.min_scale) {
     2026        WRN("zoom level is < %f : %f", (double)priv->settings.zoom_range.min_scale, (double)zoom);
     2027        return EINA_FALSE;
     2028    }
     2029    if (zoom > priv->settings.zoom_range.max_scale) {
     2030        WRN("zoom level is > %f : %f", (double)priv->settings.zoom_range.max_scale, (double)zoom);
    19862031        return EINA_FALSE;
    19872032    }
     
    37113756    evas_object_smart_callback_call(o, "download,request", download);
    37123757}
     3758
     3759/**
     3760 * @internal
     3761 * Reports the viewport has changed.
     3762 *
     3763 * @param o view.
     3764 * @param w width.
     3765 * @param h height.
     3766 * @param init_scale initialScale value.
     3767 * @param max_scale maximumScale value.
     3768 * @param min_scale minimumScale value.
     3769 * @param user_scalable userscalable flag.
     3770 *
     3771 * Emits signal: "viewport,changed" with no parameters.
     3772 */
     3773void ewk_view_viewport_set(Evas_Object *o, float w, float h, float init_scale, float max_scale, float min_scale, float user_scalable)
     3774{
     3775    EWK_VIEW_SD_GET(o, sd);
     3776    EWK_VIEW_PRIV_GET(sd, priv);
     3777
     3778    priv->settings.viewport.w = w;
     3779    priv->settings.viewport.h = h;
     3780    priv->settings.viewport.init_scale = init_scale;
     3781    priv->settings.viewport.min_scale = min_scale;
     3782    priv->settings.viewport.max_scale = max_scale;
     3783    priv->settings.viewport.user_scalable = user_scalable;
     3784
     3785    evas_object_smart_callback_call(o, "viewport,changed", 0);
     3786}
     3787
     3788/**
     3789 * Gets data of viewport meta tag.
     3790 *
     3791 * @param o view.
     3792 * @param w width.
     3793 * @param h height.
     3794 * @param init_scale initial Scale value.
     3795 * @param max_scale maximum Scale value.
     3796 * @param min_scale minimum Scale value.
     3797 * @param user_scalable user Scalable value.
     3798 */
     3799void ewk_view_viewport_get(Evas_Object *o, float* w, float* h, float* init_scale, float* max_scale, float* min_scale, float* user_scalable)
     3800{
     3801    EWK_VIEW_SD_GET(o, sd);
     3802    EWK_VIEW_PRIV_GET(sd, priv);
     3803
     3804    if (w)
     3805        *w = priv->settings.viewport.w;
     3806    if (h)
     3807        *h = priv->settings.viewport.h;
     3808    if (init_scale)
     3809        *init_scale = priv->settings.viewport.init_scale;
     3810    if (max_scale)
     3811        *max_scale = priv->settings.viewport.max_scale;
     3812    if (min_scale)
     3813        *min_scale = priv->settings.viewport.min_scale;
     3814    if (user_scalable)
     3815        *user_scalable = priv->settings.viewport.user_scalable;
     3816}
     3817
     3818/**
     3819 * Sets the zoom range.
     3820 *
     3821 * @param o view.
     3822 * @param min_scale minimum value of zoom range.
     3823 * @param max_scale maximum value of zoom range.
     3824 *
     3825 * @return @c EINA_TRUE if zoom range is changed, @c EINA_FALSE if not or failure.
     3826 */
     3827Eina_Bool ewk_view_zoom_range_set(Evas_Object* o, float min_scale, float max_scale)
     3828{
     3829    EWK_VIEW_SD_GET(o, sd);
     3830    EWK_VIEW_PRIV_GET(sd, priv);
     3831
     3832    if (max_scale < min_scale) {
     3833        WRN("min_scale is larger than max_scale");
     3834        return EINA_FALSE;
     3835    }
     3836
     3837    priv->settings.zoom_range.min_scale = min_scale;
     3838    priv->settings.zoom_range.max_scale = max_scale;
     3839
     3840    return EINA_TRUE;
     3841}
     3842
     3843/**
     3844 * Gets the minimum value of zoom range.
     3845 *
     3846 * @param o view.
     3847 *
     3848 * @return minimum value of zoom range.
     3849 */
     3850float ewk_view_zoom_range_min_get(Evas_Object* o)
     3851{
     3852    EWK_VIEW_SD_GET(o, sd);
     3853    EWK_VIEW_PRIV_GET(sd, priv);
     3854
     3855    return priv->settings.zoom_range.min_scale;
     3856}
     3857
     3858/**
     3859 * Gets the maximum value of zoom range.
     3860 *
     3861 * @param o view.
     3862 *
     3863 * @return maximum value of zoom range.
     3864 */
     3865float ewk_view_zoom_range_max_get(Evas_Object* o)
     3866{
     3867    EWK_VIEW_SD_GET(o, sd);
     3868    EWK_VIEW_PRIV_GET(sd, priv);
     3869
     3870    return priv->settings.zoom_range.max_scale;
     3871}
     3872
     3873/**
     3874 * Sets if zoom is enabled.
     3875 *
     3876 * @param o view.
     3877 * @param user_scalable boolean pointer in which to enable zoom. It defaults
     3878 * to @c EINA_TRUE.
     3879 */
     3880void ewk_view_user_scalable_set(Evas_Object* o, Eina_Bool user_scalable)
     3881{
     3882    EWK_VIEW_SD_GET(o, sd);
     3883    EWK_VIEW_PRIV_GET(sd, priv);
     3884
     3885    priv->settings.zoom_range.user_scalable = user_scalable;
     3886}
     3887
     3888/**
     3889 * Gets if zoom is enabled.
     3890 *
     3891 * @param o view.
     3892 * @param user_scalable where to return the current user scalable value.
     3893 *
     3894 * @return @c EINA_TRUE if zoom is enabled, @c EINA_FALSE if not.
     3895 */
     3896Eina_Bool ewk_view_user_scalable_get(Evas_Object* o)
     3897{
     3898    EWK_VIEW_SD_GET(o, sd);
     3899    EWK_VIEW_PRIV_GET(sd, priv);
     3900
     3901    return priv->settings.zoom_range.user_scalable;
     3902}
  • trunk/WebKit/efl/ewk/ewk_view.h

    r61706 r62666  
    8686 *    and as arguments gives its details.
    8787 *  - "icon,received", void: main frame received an icon.
     88 *  - "viewport,changed", void: Report that viewport has changed.
    8889 */
    8990
     
    454455EAPI Eina_Bool ewk_view_paint_contents(Ewk_View_Private_Data *priv, cairo_t *cr, const Eina_Rectangle *area);
    455456
     457EAPI void ewk_view_viewport_get(Evas_Object *o, float* w, float* h, float* init_scale, float* max_scale, float* min_scale, float* user_scalable);
     458EAPI Eina_Bool ewk_view_zoom_range_set(Evas_Object* o, float min_scale, float max_scale);
     459EAPI float ewk_view_zoom_range_min_get(Evas_Object* o);
     460EAPI float ewk_view_zoom_range_max_get(Evas_Object* o);
     461EAPI void ewk_view_user_scalable_set(Evas_Object* o, Eina_Bool user_scalable);
     462EAPI Eina_Bool ewk_view_user_scalable_get(Evas_Object* o);
     463
    456464#ifdef __cplusplus
    457465}
Note: See TracChangeset for help on using the changeset viewer.