Title: [90080] trunk/Source/WebKit/efl
Revision
90080
Author
[email protected]
Date
2011-06-29 19:06:39 -0700 (Wed, 29 Jun 2011)

Log Message

2011-06-29  Kangil Han  <[email protected]>

        Reviewed by Kenneth Rohde Christiansen.

        [EFL] Add APIs to get/set view mode
        https://bugs.webkit.org/show_bug.cgi?id=63229

        Implement public API for getting/setting the view-mode media feature as specified in W3C.

        * ewk/ewk_view.cpp:
        (ewk_view_mode_set):
        (ewk_view_mode_get):
        * ewk/ewk_view.h:

Modified Paths

Diff

Modified: trunk/Source/WebKit/efl/ChangeLog (90079 => 90080)


--- trunk/Source/WebKit/efl/ChangeLog	2011-06-30 02:02:04 UTC (rev 90079)
+++ trunk/Source/WebKit/efl/ChangeLog	2011-06-30 02:06:39 UTC (rev 90080)
@@ -1,3 +1,17 @@
+2011-06-29  Kangil Han  <[email protected]>
+
+        Reviewed by Kenneth Rohde Christiansen.
+
+        [EFL] Add APIs to get/set view mode
+        https://bugs.webkit.org/show_bug.cgi?id=63229
+
+        Implement public API for getting/setting the view-mode media feature as specified in W3C.
+
+        * ewk/ewk_view.cpp:
+        (ewk_view_mode_set):
+        (ewk_view_mode_get):
+        * ewk/ewk_view.h:
+
 2011-06-29  Michal Pakula vel Rutka  <[email protected]>
 
         Reviewed by Kenneth Rohde Christiansen.

Modified: trunk/Source/WebKit/efl/ewk/ewk_view.cpp (90079 => 90080)


--- trunk/Source/WebKit/efl/ewk/ewk_view.cpp	2011-06-30 02:02:04 UTC (rev 90079)
+++ trunk/Source/WebKit/efl/ewk/ewk_view.cpp	2011-06-30 02:06:39 UTC (rev 90080)
@@ -4500,6 +4500,82 @@
 #endif
 
 /**
+ * Sets view mode. The view-mode media feature describes the mode in which the
+ * Web application is being shown as a running application.
+ *
+ * @param o view object to change view mode.
+ * @param view_mode page view mode to be set
+ *
+ * @return @c EINA_TRUE if view mode is set as view_mode, @c EINA_FALSE otherwise.
+ */
+Eina_Bool ewk_view_mode_set(Evas_Object* o, Ewk_View_Mode view_mode)
+{
+    EWK_VIEW_SD_GET_OR_RETURN(o, sd, EINA_FALSE);
+    EWK_VIEW_PRIV_GET_OR_RETURN(sd, priv, EINA_FALSE);
+
+    switch (view_mode) {
+    case EWK_VIEW_MODE_WINDOWED:
+        priv->page->setViewMode(WebCore::Page::ViewModeWindowed);
+        break;
+    case EWK_VIEW_MODE_FLOATING:
+        priv->page->setViewMode(WebCore::Page::ViewModeFloating);
+        break;
+    case EWK_VIEW_MODE_FULLSCREEN:
+        priv->page->setViewMode(WebCore::Page::ViewModeFullscreen);
+        break;
+    case EWK_VIEW_MODE_MAXIMIZED:
+        priv->page->setViewMode(WebCore::Page::ViewModeMaximized);
+        break;
+    case EWK_VIEW_MODE_MINIMIZED:
+        priv->page->setViewMode(WebCore::Page::ViewModeMinimized);
+        break;
+    default:
+        return EINA_FALSE;
+    }
+
+    return EINA_TRUE;
+}
+
+/**
+ * Gets view mode. The view-mode media feature describes the mode in which the
+ * Web application is being shown as a running application.
+ *
+ * @param o view object to query view mode.
+ *
+ * @return enum value of Ewk_View_Mode that indicates current view mode.
+ */
+Ewk_View_Mode ewk_view_mode_get(Evas_Object* o)
+{
+    Ewk_View_Mode mode = EWK_VIEW_MODE_WINDOWED;
+
+    EWK_VIEW_SD_GET(o, sd);
+    if (!sd)
+        return mode;
+    EWK_VIEW_PRIV_GET(sd, priv);
+    if (!priv)
+        return mode;
+
+    switch (priv->page->viewMode()) {
+    case WebCore::Page::ViewModeFloating:
+        mode = EWK_VIEW_MODE_FLOATING;
+        break;
+    case WebCore::Page::ViewModeFullscreen:
+        mode = EWK_VIEW_MODE_FULLSCREEN;
+        break;
+    case WebCore::Page::ViewModeMaximized:
+        mode = EWK_VIEW_MODE_MAXIMIZED;
+        break;
+    case WebCore::Page::ViewModeMinimized:
+        mode = EWK_VIEW_MODE_MINIMIZED;
+        break;
+    default:
+        break;
+    }
+
+    return mode;
+}
+
+/**
  * @internal
  * Reports the view that editor client selection has changed.
  *

Modified: trunk/Source/WebKit/efl/ewk/ewk_view.h (90079 => 90080)


--- trunk/Source/WebKit/efl/ewk/ewk_view.h	2011-06-30 02:02:04 UTC (rev 90079)
+++ trunk/Source/WebKit/efl/ewk/ewk_view.h	2011-06-30 02:06:39 UTC (rev 90080)
@@ -296,6 +296,15 @@
     } changed;
 };
 
+enum _Ewk_View_Mode {
+    EWK_VIEW_MODE_WINDOWED,
+    EWK_VIEW_MODE_FLOATING,
+    EWK_VIEW_MODE_FULLSCREEN,
+    EWK_VIEW_MODE_MAXIMIZED,
+    EWK_VIEW_MODE_MINIMIZED
+};
+typedef enum _Ewk_View_Mode Ewk_View_Mode;
+
 /**
  * Cache (pool) that contains unused tiles for ewk_view_tiled.
  *
@@ -538,6 +547,8 @@
 EAPI Eina_Bool ewk_view_user_scalable_get(Evas_Object* o);
 EAPI float ewk_view_device_pixel_ratio_get(Evas_Object* o);
 
+EAPI Eina_Bool ewk_view_mode_set(Evas_Object* o, Ewk_View_Mode view_mode);
+EAPI Ewk_View_Mode ewk_view_mode_get(Evas_Object* o);
 #ifdef __cplusplus
 }
 #endif
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to