[M67 Dev][EWK] Classify EWK APIs by public, internal, or product 55/187855/2
authorsihoons.yang <sihoons.yang@samsung.com>
Wed, 1 Feb 2017 11:59:21 +0000 (20:59 +0900)
committerYoungsoo Choi <kenshin.choi@samsung.com>
Wed, 10 Oct 2018 04:12:13 +0000 (04:12 +0000)
This classifies EWK APIs as follows.

Header name        | API kinds                       | Target user
------------------------------------------------------------------------
ewk_XXX.h          | APIs open to tizen.org          | Public
------------------------------------------------------------------------
ewk_XXX_internal.h | APIs for platform modules       | SWC internal
------------------------------------------------------------------------
ewk_XXX_product.h  | APIs for product requirements   | GBM (MCD, VD)
------------------------------------------------------------------------

To avoid explosion of header inclusions with similar names, following
rule is designed:
- ewk_XXX.h is included by ewk_XXX_internal.h.
- ewk_XXX_internal.h is included by ewk_XXX_product.h

Also, we provide following all-in-one headers:
- EWebKit.h          : holds all "Public" EWK headers
- EWebKit_internal.h : holds all "Internal" EWK headers
- EWebKit_product.h  : holds all "Product" EWK headers

Reference:
https://review.tizen.org/gerrit/#/c/173213/

Change-Id: I4193e357828a7516c23f8e4fef9283367bf8d4e6
Signed-off-by: sihoons.yang <sihoons.yang@samsung.com>
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
118 files changed:
third_party/icu/common/icudtl.dat
tizen_src/ewk/efl_integration/browser/javascript_dialog_manager_efl.h
tizen_src/ewk/efl_integration/browser/notification/notification_controller_efl.cc
tizen_src/ewk/efl_integration/browser/notification/notification_controller_efl.h
tizen_src/ewk/efl_integration/browser/vibration/vibration_provider_client.h
tizen_src/ewk/efl_integration/browser/web_cache_efl/web_cache_manager_efl.h
tizen_src/ewk/efl_integration/common/render_messages_ewk.h
tizen_src/ewk/efl_integration/context_menu_controller_efl.h
tizen_src/ewk/efl_integration/eweb_context.h
tizen_src/ewk/efl_integration/eweb_view.cc
tizen_src/ewk/efl_integration/eweb_view.h
tizen_src/ewk/efl_integration/geolocation_permission_popup.h
tizen_src/ewk/efl_integration/notification_permission_popup.h
tizen_src/ewk/efl_integration/private/ewk_context_private.h
tizen_src/ewk/efl_integration/private/ewk_custom_handlers_private.h
tizen_src/ewk/efl_integration/private/ewk_hit_test_private.h
tizen_src/ewk/efl_integration/private/ewk_settings_private.h
tizen_src/ewk/efl_integration/public/EWebKit.h [new file with mode: 0644]
tizen_src/ewk/efl_integration/public/EWebKit_internal.h [new file with mode: 0644]
tizen_src/ewk/efl_integration/public/EWebKit_product.h [new file with mode: 0644]
tizen_src/ewk/efl_integration/public/ewk_application_cache_manager.cc [changed mode: 0755->0644]
tizen_src/ewk/efl_integration/public/ewk_application_cache_manager_internal.h [moved from tizen_src/ewk/efl_integration/public/ewk_application_cache_manager.h with 78% similarity]
tizen_src/ewk/efl_integration/public/ewk_auth_challenge.cc
tizen_src/ewk/efl_integration/public/ewk_auth_challenge_internal.h [moved from tizen_src/ewk/efl_integration/public/ewk_auth_challenge.h with 52% similarity]
tizen_src/ewk/efl_integration/public/ewk_auth_request.cc
tizen_src/ewk/efl_integration/public/ewk_auth_request_internal.h [moved from tizen_src/ewk/efl_integration/public/ewk_auth_request.h with 90% similarity]
tizen_src/ewk/efl_integration/public/ewk_autofill_profile.h
tizen_src/ewk/efl_integration/public/ewk_back_forward_list.h
tizen_src/ewk/efl_integration/public/ewk_back_forward_list_item.h
tizen_src/ewk/efl_integration/public/ewk_certificate.cc
tizen_src/ewk/efl_integration/public/ewk_certificate_internal.h [moved from tizen_src/ewk/efl_integration/public/ewk_certificate.h with 100% similarity]
tizen_src/ewk/efl_integration/public/ewk_chromium.h
tizen_src/ewk/efl_integration/public/ewk_console_message.cc
tizen_src/ewk/efl_integration/public/ewk_console_message_internal.h [moved from tizen_src/ewk/efl_integration/public/ewk_console_message.h with 92% similarity]
tizen_src/ewk/efl_integration/public/ewk_content_screening_detection.cc
tizen_src/ewk/efl_integration/public/ewk_content_screening_detection_internal.h [moved from tizen_src/ewk/efl_integration/public/ewk_content_screening_detection.h with 90% similarity]
tizen_src/ewk/efl_integration/public/ewk_context.h
tizen_src/ewk/efl_integration/public/ewk_context_internal.h [new file with mode: 0644]
tizen_src/ewk/efl_integration/public/ewk_context_menu.h
tizen_src/ewk/efl_integration/public/ewk_context_menu_internal.h [new file with mode: 0644]
tizen_src/ewk/efl_integration/public/ewk_context_menu_product.h [new file with mode: 0644]
tizen_src/ewk/efl_integration/public/ewk_context_product.h [new file with mode: 0644]
tizen_src/ewk/efl_integration/public/ewk_cookie_manager.cc
tizen_src/ewk/efl_integration/public/ewk_cookie_manager.h
tizen_src/ewk/efl_integration/public/ewk_cookie_manager_internal.h [new file with mode: 0644]
tizen_src/ewk/efl_integration/public/ewk_custom_handlers.cc
tizen_src/ewk/efl_integration/public/ewk_custom_handlers_internal.h [new file with mode: 0644]
tizen_src/ewk/efl_integration/public/ewk_dispatcher.cc
tizen_src/ewk/efl_integration/public/ewk_dispatcher_internal.h [moved from tizen_src/ewk/efl_integration/public/ewk_dispatcher.h with 74% similarity]
tizen_src/ewk/efl_integration/public/ewk_enums_internal.h [moved from tizen_src/ewk/efl_integration/public/ewk_enums.h with 61% similarity]
tizen_src/ewk/efl_integration/public/ewk_error.cc
tizen_src/ewk/efl_integration/public/ewk_error.h
tizen_src/ewk/efl_integration/public/ewk_error_internal.h [new file with mode: 0644]
tizen_src/ewk/efl_integration/public/ewk_favicon_database.cc
tizen_src/ewk/efl_integration/public/ewk_favicon_database_internal.h [moved from tizen_src/ewk/efl_integration/public/ewk_favicon_database.h with 94% similarity]
tizen_src/ewk/efl_integration/public/ewk_frame.cc
tizen_src/ewk/efl_integration/public/ewk_frame_internal.h [moved from tizen_src/ewk/efl_integration/public/ewk_frame.h with 52% similarity]
tizen_src/ewk/efl_integration/public/ewk_geolocation.cc
tizen_src/ewk/efl_integration/public/ewk_geolocation.h
tizen_src/ewk/efl_integration/public/ewk_geolocation_internal.h [new file with mode: 0644]
tizen_src/ewk/efl_integration/public/ewk_history.cc
tizen_src/ewk/efl_integration/public/ewk_history_internal.h [moved from tizen_src/ewk/efl_integration/public/ewk_history.h with 93% similarity]
tizen_src/ewk/efl_integration/public/ewk_hit_test.cc
tizen_src/ewk/efl_integration/public/ewk_hit_test_internal.h [moved from tizen_src/ewk/efl_integration/public/ewk_hit_test.h with 98% similarity]
tizen_src/ewk/efl_integration/public/ewk_intercept_request.h
tizen_src/ewk/efl_integration/public/ewk_intercept_request_internal.h [new file with mode: 0644]
tizen_src/ewk/efl_integration/public/ewk_ipc_message.cc
tizen_src/ewk/efl_integration/public/ewk_ipc_message_internal.h [moved from tizen_src/ewk/efl_integration/public/ewk_ipc_message.h with 94% similarity]
tizen_src/ewk/efl_integration/public/ewk_log_internal.h [moved from tizen_src/ewk/efl_integration/public/ewk_log.h with 83% similarity]
tizen_src/ewk/efl_integration/public/ewk_main.cc
tizen_src/ewk/efl_integration/public/ewk_main.h
tizen_src/ewk/efl_integration/public/ewk_main_internal.h [new file with mode: 0644]
tizen_src/ewk/efl_integration/public/ewk_notification.cc
tizen_src/ewk/efl_integration/public/ewk_notification_internal.h [moved from tizen_src/ewk/efl_integration/public/ewk_notification.h with 97% similarity]
tizen_src/ewk/efl_integration/public/ewk_object.cc
tizen_src/ewk/efl_integration/public/ewk_object_internal.h [moved from tizen_src/ewk/efl_integration/public/ewk_object.h with 89% similarity]
tizen_src/ewk/efl_integration/public/ewk_page_group.cc
tizen_src/ewk/efl_integration/public/ewk_page_group_internal.h [moved from tizen_src/ewk/efl_integration/public/ewk_page_group.h with 83% similarity]
tizen_src/ewk/efl_integration/public/ewk_policy_decision.h
tizen_src/ewk/efl_integration/public/ewk_policy_decision_internal.h [new file with mode: 0644]
tizen_src/ewk/efl_integration/public/ewk_popup_menu_item.cc
tizen_src/ewk/efl_integration/public/ewk_popup_menu_item_internal.h [moved from tizen_src/ewk/efl_integration/public/ewk_popup_menu_item.h with 94% similarity]
tizen_src/ewk/efl_integration/public/ewk_quota_permission_request.cc
tizen_src/ewk/efl_integration/public/ewk_quota_permission_request_internal.h [moved from tizen_src/ewk/efl_integration/public/ewk_quota_permission_request.h with 92% similarity]
tizen_src/ewk/efl_integration/public/ewk_security_origin.cc
tizen_src/ewk/efl_integration/public/ewk_security_origin.h
tizen_src/ewk/efl_integration/public/ewk_security_origin_internal.h [new file with mode: 0644]
tizen_src/ewk/efl_integration/public/ewk_settings.cc
tizen_src/ewk/efl_integration/public/ewk_settings.h
tizen_src/ewk/efl_integration/public/ewk_settings_internal.h [new file with mode: 0644]
tizen_src/ewk/efl_integration/public/ewk_settings_product.h [new file with mode: 0644]
tizen_src/ewk/efl_integration/public/ewk_storage_manager.cc
tizen_src/ewk/efl_integration/public/ewk_storage_manager_internal.h [moved from tizen_src/ewk/efl_integration/public/ewk_storage_manager.h with 81% similarity]
tizen_src/ewk/efl_integration/public/ewk_text_style.cc
tizen_src/ewk/efl_integration/public/ewk_text_style_internal.h [new file with mode: 0644]
tizen_src/ewk/efl_integration/public/ewk_touch_internal.h [moved from tizen_src/ewk/efl_integration/public/ewk_touch.h with 90% similarity]
tizen_src/ewk/efl_integration/public/ewk_tracing.cc
tizen_src/ewk/efl_integration/public/ewk_tracing_internal.h [moved from tizen_src/ewk/efl_integration/public/ewk_tracing.h with 73% similarity]
tizen_src/ewk/efl_integration/public/ewk_user_media.cc
tizen_src/ewk/efl_integration/public/ewk_user_media_internal.h [new file with mode: 0644]
tizen_src/ewk/efl_integration/public/ewk_view.cc
tizen_src/ewk/efl_integration/public/ewk_view.h
tizen_src/ewk/efl_integration/public/ewk_view_internal.h [new file with mode: 0644]
tizen_src/ewk/efl_integration/public/ewk_view_product.h [new file with mode: 0644]
tizen_src/ewk/efl_integration/public/ewk_web_application_icon_data.cc
tizen_src/ewk/efl_integration/public/ewk_web_application_icon_data_internal.h [moved from tizen_src/ewk/efl_integration/public/ewk_web_application_icon_data.h with 86% similarity]
tizen_src/ewk/efl_integration/public/ewk_window_features.cc
tizen_src/ewk/efl_integration/public/ewk_window_features_internal.h [moved from tizen_src/ewk/efl_integration/public/ewk_window_features.h with 96% similarity]
tizen_src/ewk/efl_integration/renderer/render_view_observer_efl.h
tizen_src/ewk/efl_integration/url_request_context_getter_efl.h
tizen_src/ewk/efl_integration/web_contents_delegate_efl.h
tizen_src/ewk/efl_webview_app/app.c
tizen_src/ewk/efl_webview_app/mini_browser.c
tizen_src/ewk/ubrowser/browser.cc
tizen_src/ewk/ubrowser/main.cc
tizen_src/ewk/ubrowser/window.cc
tizen_src/ewk/ubrowser/window.h
tizen_src/ewk/ubrowser/window_ui.cc

index 6dc0a9c..a009f52 100644 (file)
Binary files a/third_party/icu/common/icudtl.dat and b/third_party/icu/common/icudtl.dat differ
index aac9f55..547d590 100644 (file)
@@ -9,7 +9,7 @@
 #include "base/strings/string16.h"
 #include "content/public/browser/javascript_dialog_manager.h"
 #include "eweb_view.h"
-#include "public/ewk_view.h"
+#include "public/ewk_view_internal.h"
 #include "url/gurl.h"
 
 namespace content {
index fac7142..eb8ff89 100644 (file)
@@ -11,7 +11,6 @@
 #include "content/public/common/platform_notification_data.h"
 #include "eweb_view.h"
 #include "private/ewk_notification_private.h"
-#include "public/ewk_notification.h"
 
 using web_contents_utils::WebViewFromWebContents;
 using namespace blink::mojom;
index 5367265..65d7930 100644 (file)
@@ -14,7 +14,7 @@
 #include "base/synchronization/lock.h"
 //#include "content/public/browser/desktop_notification_delegate.h"
 #include "content/public/browser/platform_notification_service.h"
-#include "public/ewk_notification.h"
+#include "public/ewk_notification_internal.h"
 #include "third_party/blink/public/platform/modules/permissions/permission_status.mojom.h"
 #include "url/gurl.h"
 
index 222b61f..ce59a07 100644 (file)
@@ -7,7 +7,7 @@
 
 #include "base/macros.h"
 #include "device/vibration/vibration_provider_client.h"
-#include "public/ewk_context.h"
+#include "public/ewk_context_internal.h"
 
 class VibrationProviderClientEwk: public device::VibrationProviderClient {
  public:
index e11dd8e..9f66c4f 100644 (file)
@@ -11,7 +11,6 @@
 #include "base/memory/singleton.h"
 #include "content/public/browser/notification_observer.h"
 #include "content/public/browser/notification_registrar.h"
-#include "ewk_enums.h"
 #include "public/ewk_context.h"
 
 namespace content {
index 6fe5a26..1a2d202 100644 (file)
@@ -15,7 +15,9 @@
 #include "private/ewk_hit_test_private.h"
 #include "private/ewk_text_style_private.h"
 #include "private/ewk_wrt_private.h"
-#include "public/ewk_hit_test.h"
+#include "public/ewk_hit_test_internal.h"
+#include "public/ewk_view_internal.h"
+#include "public/ewk_hit_test_internal.h"
 #include "public/ewk_view.h"
 #include "third_party/blink/public/web/web_navigation_policy.h"
 #include "third_party/blink/public/web/web_navigation_type.h"
index c7af0c5..67e735e 100644 (file)
@@ -15,7 +15,7 @@
 #include "content/public/browser/render_view_host.h"
 #include "content/public/browser/web_contents.h"
 #include "content/public/common/context_menu_params.h"
-#include "public/ewk_context_menu.h"
+#include "public/ewk_context_menu_internal.h"
 
 class EWebView;
 
index e02e19f..b95da5e 100644 (file)
@@ -10,7 +10,8 @@
 #include "common/tizen_extensible.h"
 #include "private/ewk_cookie_manager_private.h"
 #include "public/ewk_context.h"
-#include "public/ewk_notification.h"
+#include "public/ewk_context_product.h"
+#include "public/ewk_notification_internal.h"
 #include "devtools_delegate_efl.h"
 
 class CookieManager;
index 05a69ad..312fb98 100644 (file)
@@ -45,7 +45,7 @@
 #include "private/ewk_settings_private.h"
 #include "private/ewk_text_style_private.h"
 #include "private/webview_delegate_ewk.h"
-#include "public/ewk_hit_test.h"
+#include "public/ewk_hit_test_internal.h"
 #include "services/network/public/cpp/resource_request_body.h"
 #include "skia/ext/platform_canvas.h"
 #include "third_party/blink/public/platform/web_string.h"
index 9096892..138a966 100644 (file)
@@ -35,7 +35,6 @@
 #include "context_menu_controller_efl.h"
 #include "eweb_context.h"
 #include "eweb_view_callbacks.h"
-#include "ewk_touch.h"
 #include "file_chooser_controller_efl.h"
 #include "permission_popup_manager.h"
 #include "popup_controller_efl.h"
@@ -45,8 +44,9 @@
 #include "private/ewk_hit_test_private.h"
 #include "private/ewk_settings_private.h"
 #include "private/ewk_web_application_icon_data_private.h"
-#include "public/ewk_hit_test.h"
-#include "public/ewk_view.h"
+#include "public/ewk_hit_test_internal.h"
+#include "public/ewk_touch_internal.h"
+#include "public/ewk_view_product.h"
 #include "scroll_detector.h"
 #include "ui/gfx/geometry/point.h"
 #include "ui/gfx/geometry/size.h"
index 32187b8..e3443af 100644 (file)
@@ -9,7 +9,7 @@
 
 #include "permission_popup.h"
 #include "private/ewk_geolocation_private.h"
-#include "public/ewk_geolocation.h"
+#include "public/ewk_geolocation_internal.h"
 
 class GeolocationPermissionPopup : public PermissionPopup {
  public:
@@ -22,4 +22,4 @@ class GeolocationPermissionPopup : public PermissionPopup {
   Ewk_Geolocation_Permission_Request* request_;
 };
 
-#endif // GeolocationPermissionPopup_h
\ No newline at end of file
+#endif // GeolocationPermissionPopup_h
index cb95b5d..6f96a6d 100644 (file)
@@ -9,7 +9,7 @@
 
 #include "permission_popup.h"
 #include "private/ewk_notification_private.h"
-#include "public/ewk_notification.h"
+#include "public/ewk_notification_internal.h"
 
 class NotificationPermissionPopup : public PermissionPopup {
  public:
@@ -22,4 +22,4 @@ class NotificationPermissionPopup : public PermissionPopup {
   Ewk_Notification_Permission_Request* request_;
 };
 
-#endif // NotificationPermissionPopup_h
\ No newline at end of file
+#endif // NotificationPermissionPopup_h
index 7f8651f..3fa83cd 100644 (file)
@@ -10,8 +10,7 @@
 
 #include "base/files/file_path.h"
 #include "base/memory/ref_counted.h"
-#include "ewk_enums.h"
-#include "public/ewk_context.h"
+#include "public/ewk_context_product.h"
 
 class CookieManager;
 class Ewk_Cookie_Manager;
index e42ed3d..c329d17 100644 (file)
@@ -5,7 +5,7 @@
 #ifndef ewk_custom_handlers_private_h
 #define ewk_custom_handlers_private_h
 
-#include "public/ewk_custom_handlers.h"
+#include "public/ewk_custom_handlers_internal.h"
 
 struct Ewk_Custom_Handlers_Data {
  public:
index b1d34d9..b82fae5 100644 (file)
@@ -11,7 +11,7 @@
 #include <Eina.h>
 
 #include "common/hit_test_params.h"
-#include "public/ewk_hit_test.h"
+#include "public/ewk_hit_test_internal.h"
 #include "third_party/skia/include/core/SkBitmap.h"
 
 typedef std::map<std::string, std::string> NodeAttributesMap;
index 576106b..d11756b 100644 (file)
@@ -10,7 +10,7 @@
 
 #include <content/public/common/web_preferences.h>
 #include "common/web_preferences_efl.h"
-#include "public/ewk_settings.h"
+#include "public/ewk_settings_internal.h"
 
 class Ewk_Settings {
   public:
diff --git a/tizen_src/ewk/efl_integration/public/EWebKit.h b/tizen_src/ewk/efl_integration/public/EWebKit.h
new file mode 100644 (file)
index 0000000..7d1b90c
--- /dev/null
@@ -0,0 +1,170 @@
+/*
+ * Copyright (C) 2016 Samsung Electronics. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this program; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+/**
+ * @file    EWebKit.h
+ * @brief   This file contains the header files that are required by
+ *          Chromium-efl.
+ *
+ * It includes all the header files that are exported to public API.
+ */
+
+#ifndef EWebKit_h
+#define EWebKit_h
+
+#include "ewk_autofill_profile.h"
+#include "ewk_back_forward_list.h"
+#include "ewk_back_forward_list_item.h"
+#include "ewk_context.h"
+#include "ewk_context_menu.h"
+#include "ewk_cookie_manager.h"
+#include "ewk_error.h"
+#include "ewk_geolocation.h"
+#include "ewk_intercept_request.h"
+#include "ewk_main.h"
+#include "ewk_policy_decision.h"
+#include "ewk_security_origin.h"
+#include "ewk_settings.h"
+#include "ewk_view.h"
+
+/**
+ * @ingroup  CAPI_WEB_FRAMEWORK
+ * @defgroup WEBVIEW WebView
+ * @brief    The WebView API provides functions to display web pages and control
+ *           web pages.
+ *
+ * @section  WEBVIEW_HEADER Required Header
+ *   \#include <EWebKit.h>
+ *
+ * @section  WEBVIEW_OVERVIEW Overview
+ * The WebView API provides functions to display web pages and control
+ * web pages. It is based on the Chromium engine, which is one of the most
+ * popular layout engines to render web pages.
+ *
+ * @section  WEBVIEW_SMART_OBJECT Smart object
+ * It is Chromium main smart object. This object provides view related APIs of
+ * Chromium to EFL object.\n
+ * The following signals (see evas_object_smart_callback_add()) are emitted:
+ * <table>
+ *     <tr>
+ *         <th> Signals </th>
+ *         <th> Type </th>
+ *         <th> Description </th>
+ *     </tr>
+ *     <tr>
+ *         <td> close,window </td>
+ *         <td> void </td>
+ *         <td> Window is closed </td>
+ *     </tr>
+ *     <tr>
+ *         <td> contextmenu,customize </td>
+ *         <td> Ewk_Context_Menu* </td>
+ *         <td> Requested context menu items can be customized by app side </td>
+ *     </tr>
+ *     <tr>
+ *         <td> contextmenu,selected </td>
+ *         <td> Ewk_Context_Menu_Item* </td>
+ *         <td> A context menu item is selected </td>
+ *     </tr>
+ *     <tr>
+ *         <td> create,window </td>
+ *         <td> Evas_Object** </td>
+ *         <td> A new window is created </td>
+ *     </tr>
+ *     <tr>
+ *         <td> fullscreen,enterfullscreen </td>
+ *         <td> bool* </td>
+ *         <td> Reports to enter fullscreen </td>
+ *     </tr>
+ *     <tr>
+ *         <td> fullscreen,exitfullscreen </td>
+ *         <td> void </td>
+ *         <td> Reports to exit fullscreen </td>
+ *     </tr>
+ *     <tr>
+ *         <td> load,committed </td>
+ *         <td> void </td>
+ *         <td> Reports load committed </td>
+ *     </tr>
+ *     <tr>
+ *         <td> load,error </td>
+ *         <td> Ewk_Error* </td>
+ *         <td> Reports load error </td>
+ *     </tr>
+ *     <tr>
+ *         <td> load,finished </td>
+ *         <td> void </td>
+ *         <td> Reports load finished </td>
+ *     </tr>
+ *     <tr>
+ *         <td> load,progress </td>
+ *         <td> double* </td>
+ *         <td> Load progress has changed </td>
+ *     </tr>
+ *     <tr>
+ *         <td> load,started </td>
+ *         <td> void </td>
+ *         <td> Reports load started </td>
+ *     </tr>
+ *     <tr>
+ *         <td> geolocation,permission,request </td>
+ *         <td> Ewk_Geolocation_Permission_Request* </td>
+ *         <td> Requests geolocation permission </td>
+ *     </tr>
+ *     <tr>
+ *         <td> policy,navigation,decide </td>
+ *         <td> Ewk_Policy_Decision* </td>
+ *         <td> A navigation policy decision should be taken </td>
+ *     </tr>
+ *     <tr>
+ *         <td> policy,newwindow,decide </td>
+ *         <td> Ewk_Policy_Decision* </td>
+ *         <td> A new window policy decision should be taken </td>
+ *     </tr>
+ *     <tr>
+ *         <td> policy,response,decide </td>
+ *         <td> Ewk_Policy_Decision* </td>
+ *         <td> A response policy decision should be taken </td>
+ *     </tr>
+ *     <tr>
+ *         <td> text,found </td>
+ *         <td> unsigned* </td>
+ *         <td> The requested text was found and it gives the number of matches
+ *         </td>
+ *     </tr>
+ *     <tr>
+ *         <td> title,changed </td>
+ *         <td> const char* </td>
+ *         <td> Title of the main frame was changed </td>
+ *     </tr>
+ *     <tr>
+ *         <td> url,changed </td>
+ *         <td> const char* </td>
+ *         <td> Url of the main frame was changed </td>
+ *     </tr>
+ *     <tr>
+ *         <td> did,not,allow,script </td>
+ *         <td> void </td>
+ *         <td> Javascript did not allowed </td>
+ *     </tr>
+ *
+ * </table>
+ */
+
+#endif // EWebKit_h
diff --git a/tizen_src/ewk/efl_integration/public/EWebKit_internal.h b/tizen_src/ewk/efl_integration/public/EWebKit_internal.h
new file mode 100644 (file)
index 0000000..f69ebbd
--- /dev/null
@@ -0,0 +1,68 @@
+/*
+ * Copyright (C) 2016 Samsung Electronics. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this program; see the file COPYING.LIB.  If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+/**
+ * @file    EWebKit_internal.h
+ * @brief   Contains the header files that are required by Chromium-EFL.
+ *
+ * It includes the all header files that are exported to internal API.
+ */
+
+#ifndef EWebKit_internal_h
+#define EWebKit_internal_h
+
+#include "ewk_application_cache_manager_internal.h"
+#include "ewk_auth_challenge_internal.h"
+#include "ewk_auth_request_internal.h"
+#include "ewk_certificate_internal.h"
+#include "ewk_console_message_internal.h"
+#include "ewk_content_screening_detection_internal.h"
+#include "ewk_context_internal.h"
+#include "ewk_context_menu_internal.h"
+#include "ewk_cookie_manager_internal.h"
+#include "ewk_custom_handlers_internal.h"
+#include "ewk_dispatcher_internal.h"
+#include "ewk_enums_internal.h"
+#include "ewk_error_internal.h"
+#include "ewk_favicon_database_internal.h"
+#include "ewk_frame_internal.h"
+#include "ewk_geolocation_internal.h"
+#include "ewk_history_internal.h"
+#include "ewk_hit_test_internal.h"
+#include "ewk_ipc_message_internal.h"
+#include "ewk_log_internal.h"
+#include "ewk_main_internal.h"
+#include "ewk_notification_internal.h"
+#include "ewk_object_internal.h"
+#include "ewk_page_group_internal.h"
+#include "ewk_policy_decision_internal.h"
+#include "ewk_popup_menu_item_internal.h"
+#include "ewk_quota_permission_request_internal.h"
+#include "ewk_security_origin_internal.h"
+#include "ewk_settings_internal.h"
+#include "ewk_storage_manager_internal.h"
+#include "ewk_text_style_internal.h"
+#include "ewk_touch_internal.h"
+#include "ewk_tracing_internal.h"
+#include "ewk_user_media_internal.h"
+#include "ewk_view_internal.h"
+#include "ewk_web_application_icon_data_internal.h"
+#include "ewk_window_features_internal.h"
+
+#endif // EWebKit_internal_h
diff --git a/tizen_src/ewk/efl_integration/public/EWebKit_product.h b/tizen_src/ewk/efl_integration/public/EWebKit_product.h
new file mode 100644 (file)
index 0000000..5d1b5b8
--- /dev/null
@@ -0,0 +1,66 @@
+/*
+ * Copyright (C) 2016 Samsung Electronics. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this program; see the file COPYING.LIB.  If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+/**
+ * @file    EWebKit_product.h
+ * @brief   Contains the header files that are required by Chromium-EFL.
+ *
+ * It includes the all header files that are exported to product API.
+ */
+
+#ifndef EWebKit_product_h
+#define EWebKit_product_h
+
+#include "ewk_context_menu_product.h"
+#include "ewk_context_product.h"
+#include "ewk_settings_product.h"
+#include "ewk_view_product.h"
+
+/**
+ * @ingroup  CAPI_WEB_FRAMEWORK
+ * @brief    The WebView API product specific functions.
+ *
+ * @section  WEBVIEW_HEADER Required Header
+ *   \#include <EWebKit_product.h>
+ *
+ * @section  WEBVIEW_OVERVIEW Overview
+ * Product specific API
+ *
+ * @section  WEBVIEW_SMART_OBJECT Smart object
+ * The following signals (see evas_object_smart_callback_add()) are emitted:
+ * <table>
+ *     <tr>
+ *         <th> Signals </th>
+ *         <th> Type </th>
+ *         <th> Description </th>
+ *     </tr>
+ *     <tr>
+ *         <td> link,hover,over </td>
+ *         <td> char* </td>
+ *         <td> Mouse cursor hovers over a link </td>
+ *     </tr>
+ *     <tr>
+ *         <td> link,hover,out </td>
+ *         <td> char* </td>
+ *         <td> Mouse cursor is moved away from a link </td>
+ *     </tr>
+ * </table>
+ */
+
+#endif // EWebKit_product_h
old mode 100755 (executable)
new mode 100644 (file)
index f9b27c5..e67d396
@@ -2,9 +2,9 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "ewk_application_cache_manager.h"
-#include "ewk_context.h"
+#include "ewk_application_cache_manager_internal.h"
 #include "private/ewk_private.h"
+#include "ewk_context_internal.h"
 #include "tizen/system_info.h"
 
 Eina_Bool ewk_application_cache_manager_clear(Ewk_Application_Cache_Manager* manager)
@@ -3,12 +3,12 @@
 // found in the LICENSE file.
 
 /**
- * @file    ewk_application_cache_manager.h
+ * @file    ewk_application_cache_manager_internal.h
  * @brief   Describes the Ewk Application Cache Manager API.
  */
 
-#ifndef ewk_application_cache_manager_h
-#define ewk_application_cache_manager_h
+#ifndef ewk_application_cache_manager_internal_h
+#define ewk_application_cache_manager_internal_h
 
 #include <Eina.h>
 #include <tizen.h>
@@ -33,4 +33,4 @@ EXPORT_API Eina_Bool ewk_application_cache_manager_clear(Ewk_Application_Cache_M
 }
 #endif
 
-#endif // ewk_application_cache_manager_h
+#endif // ewk_application_cache_manager_internal_h
index a5dc036..4f5fb98 100644 (file)
@@ -3,7 +3,7 @@
 // found in the LICENSE file.
 
 
-#include "ewk_auth_challenge.h"
+#include "ewk_auth_challenge_internal.h"
 
 #include "private/ewk_auth_challenge_private.h"
 
@@ -1,14 +1,29 @@
-// Copyright 2013 Samsung Electronics. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
+/*
+ * Copyright (C) 2012 Samsung Electronics
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB.  If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
 
 /**
- * @file    ewk_auth_challenge.h
+ * @file    ewk_auth_challenge_internal.h
  * @brief   Describes the authentication challenge API.
  */
 
-#ifndef ewk_auth_challenge_h
-#define ewk_auth_challenge_h
+#ifndef ewk_auth_challenge_internal_h
+#define ewk_auth_challenge_internal_h
 
 #include <Eina.h>
 #include <tizen.h>
@@ -21,46 +36,51 @@ extern "C" {
 typedef struct _Ewk_Auth_Challenge Ewk_Auth_Challenge;
 
 /**
- * Gets the realm string of authentication challenge received from "authentication,challenge" evas object smart callback.
+ * Gets the realm string of authentication challenge received from "Ewk_View_Authentication_Callback" function.
  *
- * @param auth_challenge authentication challenge instance received from "authentication,challenge" evas object smart callback.
+ * @param auth_challenge authentication challenge instance received from "Ewk_View_Authentication_Callback" function.
  * @return the realm of authentication challenge on success, @c 0 otherwise
  *
+ * @see ewk_view_authentication_callback_set
  */
 EXPORT_API const char* ewk_auth_challenge_realm_get(Ewk_Auth_Challenge* auth_challenge);
 
 /**
- * Gets the url string of authentication challenge received from "authentication,challenge" evas object smart callback.
+ * Gets the url string of authentication challenge received from "Ewk_View_Authentication_Callback" function.
  *
- * @param auth_challenge authentication challenge request instance received from "authentication,challenge" evas object smart callback.
+ * @param auth_challenge authentication challenge request instance received from "Ewk_View_Authentication_Callback" function.
  * @return the url of authentication challenge on success, @c 0 otherwise
  *
+ * @see ewk_view_authentication_callback_set
  */
 EXPORT_API const char* ewk_auth_challenge_url_get(Ewk_Auth_Challenge* auth_challenge);
 
 /**
  * Suspend the operation for authentication challenge.
  *
- * @param auth_challenge authentication challenge instance received from "authentication,challenge" evas object smart callback.
+ * @param auth_challenge authentication challenge instance received from "Ewk_View_Authentication_Callback" function.
  *
+ * @see ewk_view_authentication_callback_set
  */
 EXPORT_API void ewk_auth_challenge_suspend(Ewk_Auth_Challenge* auth_challenge);
 
 /**
  *  If user select ok, send credential for authentication challenge from user input.
  *
- * @param auth_challenge authentication challenge instance received from "authentication,challenge" evas object smart callback.
+ * @param auth_challenge authentication challenge instance received from "Ewk_View_Authentication_Callback" function.
  * @param user user id from user input.
  * @param password user password from user input.
  *
+ * @see ewk_view_authentication_callback_set
  */
 EXPORT_API void ewk_auth_challenge_credential_use(Ewk_Auth_Challenge* auth_challenge, const char* user, const char* password);
 
 /**
  *  If user select cancel, send cancellation notification for authentication challenge.
  *
- * @param auth_challenge authentication challenge instance received from "authentication,challenge" evas object smart callback.
+ * @param auth_challenge authentication challenge instance received from "Ewk_View_Authentication_Callback" function.
  *
+ * @see ewk_view_authentication_callback_set
  */
 EXPORT_API void ewk_auth_challenge_credential_cancel(Ewk_Auth_Challenge* auth_challenge);
 
@@ -68,4 +88,4 @@ EXPORT_API void ewk_auth_challenge_credential_cancel(Ewk_Auth_Challenge* auth_ch
 }
 #endif
 
-#endif // ewk_auth_challenge_h
+#endif // ewk_auth_challenge_internal_h
index 9e239ff..0d59279 100644 (file)
@@ -3,7 +3,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "ewk_auth_request.h"
+#include "ewk_auth_request_internal.h"
 #include "private/ewk_private.h"
 #include "private/ewk_auth_challenge_private.h"
 #include "tizen/system_info.h"
@@ -4,12 +4,12 @@
 // found in the LICENSE file.
 
 /**
- * @file    ewk_auth_request.h
+ * @file    ewk_auth_request_internal.h
  * @brief   Describes the Ewk Authentication Request API.
  */
 
-#ifndef ewk_auth_request_h
-#define ewk_auth_request_h
+#ifndef ewk_auth_request_internal_h
+#define ewk_auth_request_internal_h
 
 #include <Eina.h>
 #include <tizen.h>
@@ -56,4 +56,4 @@ EXPORT_API const char *ewk_auth_request_realm_get(const Ewk_Auth_Request *reques
 }
 #endif
 
-#endif /* ewk_auth_request_h */
+#endif // ewk_auth_request_internal_h
index 78f80f6..194d1e7 100644 (file)
@@ -1,10 +1,25 @@
-// Copyright 2013 Samsung Electronics. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
+/*
+ * Copyright (C) 2016 Samsung Electronics
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this program; see the file COPYING.LIB.  If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
 
 /**
  * @file    ewk_autofill_profile.h
- * @brief   Describes the Ewk autofill profile APIs.
+ * @brief   This file describes the Ewk Autofill Profile API.
  */
 
 #ifndef ewk_autofill_profile_h
 extern "C" {
 #endif
 
+/**
+ * @addtogroup WEBVIEW
+ * @{
+ */
+
+/**
+ * @if MOBILE
+ * \enum   _Ewk_Autofill_Profile_Data_Type
+ * @brief  Enumeration that provides an option to autofill profile data types.
+ *
+ * @since_tizen 2.4
+ * @endif
+ */
 enum _Ewk_Autofill_Profile_Data_Type {
-  EWK_PROFILE_ID = 0,
-  EWK_PROFILE_NAME,
-  EWK_PROFILE_COMPANY,
-  EWK_PROFILE_ADDRESS1,
-  EWK_PROFILE_ADDRESS2,
-  EWK_PROFILE_CITY_TOWN,
-  EWK_PROFILE_STATE_PROVINCE_REGION,
-  EWK_PROFILE_ZIPCODE,
-  EWK_PROFILE_COUNTRY,
-  EWK_PROFILE_PHONE,
-  EWK_PROFILE_EMAIL,
-  EWK_MAX_AUTOFILL
+    EWK_PROFILE_ID = 0,  /**< Id */
+    EWK_PROFILE_NAME,  /**< Name */
+    EWK_PROFILE_COMPANY,  /**< Company */
+    EWK_PROFILE_ADDRESS1,  /**< Address1 */
+    EWK_PROFILE_ADDRESS2,  /**< Address2 */
+    EWK_PROFILE_CITY_TOWN,  /**< City Town */
+    EWK_PROFILE_STATE_PROVINCE_REGION,  /**< State Province Region */
+    EWK_PROFILE_ZIPCODE,  /**< Zipcode */
+    EWK_PROFILE_COUNTRY,  /**< Country */
+    EWK_PROFILE_PHONE,  /**< Phone */
+    EWK_PROFILE_EMAIL,  /**< Email */
+    EWK_MAX_AUTOFILL  /**< Max Autofill */
 };
 
+/**
+ * @if MOBILE
+ * @brief Enumeration that creates a type name for the Ewk_Autofill_Profile_Data_Type.
+ *
+ * @since_tizen 2.4
+ * @endif
+ */
 typedef enum _Ewk_Autofill_Profile_Data_Type Ewk_Autofill_Profile_Data_Type;
+
+/**
+ * @if MOBILE
+ * @brief The structure type that creates a type name for #Ewk_Autofill_Profile.
+ *
+ * @since_tizen 2.4
+ * @endif
+ */
 typedef struct _Ewk_Autofill_Profile Ewk_Autofill_Profile;
 
 /**
- * Creates a new profile
+ * @if MOBILE
+ * @brief Creates a new profile
  *
  * The created profile must be deleted by ewk_autofill_profile_delete
  *
- * @return @c Ewk_Autofill_Profile if new profile is successfully created, @c NULL otherwise
+ * @since_tizen 2.4
+ *
+ * @return @c Ewk_Autofill_Profile if new profile is successfully created,
+           @c NULL otherwise
+ *
  * @see ewk_autofill_profile_data_set
  * @see ewk_autofill_profile_delete
+ * @endif
  */
 EXPORT_API Ewk_Autofill_Profile* ewk_autofill_profile_new(void);
 
 /**
- * Deletes a given profile
+ * @if MOBILE
+ * @brief Deletes a given profile
  *
  * The API will delete the a particular profile only from the memory.
- * To remove the profile permenantly use ewk_context_form_autofill_profile_remove
+ * To remove the profile permenantly use
+ * ewk_context_form_autofill_profile_remove
+ *
+ * @since_tizen 2.4
  *
- * @param profile name
+ * @param[in] profile name
  *
  * @see ewk_autofill_profile_new
  * @see ewk_context_form_autofill_profile_get
  * @see ewk_context_form_autofill_profile_remove
+ * @endif
  */
 EXPORT_API void ewk_autofill_profile_delete(Ewk_Autofill_Profile* profile);
 
 /**
- * Sets the data in the profile created by ewk_autofill_profile_new
+ * @if MOBILE
+ * @brief Sets the data in the profile created by ewk_autofill_profile_new
  *
- * The data set by this function is set locally. To save it to database use ewk_context_form_autofill_profile_add
+ * The data set by this function is set locally. To save it to database use
+ * ewk_context_form_autofill_profile_add
  *
- * @param profile contains the profile data
- * @param name type of attribute to be set
- * @param value value of the attribute
+ * @since_tizen 2.4
+ *
+ * @param[in] profile contains the profile data
+ * @param[in] name type of attribute to be set
+ * @param[in] value value of the attribute
  *
  * @see ewk_autofill_profile_data_get
  * @see Ewk_Autofill_Profile_Data_Type
  * @see ewk_context_form_autofill_profile_add
+ * @endif
  */
 EXPORT_API void ewk_autofill_profile_data_set(Ewk_Autofill_Profile* profile, Ewk_Autofill_Profile_Data_Type name, const char* value);
 
 /**
- * Gets the id attribute value from a given profile
+ * @if MOBILE
+ * @brief Gets the id attribute value from a given profile
+ *
+ * The profile obtained from ewk_context_form_autofill_profile_get will be used
+ * to get the profileid
  *
- * The profile obtained from ewk_context_form_autofill_profile_get will be used to get the profileid
+ * @param[in] profile name of profile
  *
- * @param profile name of profile
+ * @since_tizen 2.4
  *
  * @return @c Value of attribute (unsigned), @c 0 otherwise
+ *
  * @see ewk_autofill_profile_new
  * @see ewk_context_form_autofill_profile_get
  * @see ewk_context_form_autofill_profile_get_all
+ * @endif
  */
 EXPORT_API unsigned ewk_autofill_profile_id_get(Ewk_Autofill_Profile* profile);
 
 /**
- * Gets the attribute value from a given profile
+ * @if MOBILE
+ * @brief Gets the attribute value from a given profile
  *
- * The profile obtained from ewk_context_form_autofill_profile_get will be used to get the data
+ * The profile obtained from ewk_context_form_autofill_profile_get will be used
+ * to get the data
  *
- * @param profile name of profile
- * @param name name of attribute
+ * @since_tizen 2.4
+ *
+ * @param[in] profile name of profile
+ * @param[in] name name of attribute
  *
  * @return @c Value of attribute (char*), @c NULL otherwise
+ *
  * @see ewk_autofill_profile_new
  * @see ewk_context_form_autofill_profile_get
  * @see ewk_context_form_autofill_profile_get_all
+ * @endif
  */
 EXPORT_API const char* ewk_autofill_profile_data_get(Ewk_Autofill_Profile* profile, Ewk_Autofill_Profile_Data_Type name);
 
-//#endif // TIZEN_WEBKIT2_AUTOFILL_PROFILE_FORM
+/**
+* @}
+*/
 
 #ifdef __cplusplus
 }
index 4104cf2..2dd7686 100644 (file)
@@ -1,17 +1,17 @@
 /*
  * Copyright (C) 2012 Intel Corporation. All rights reserved.
- * Copyright (C) 2014 Samsung Electronics. All rights reserved.
+ * Copyright (C) 2016 Samsung Electronics. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
  * are met:
  * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
+ *    notice, this list of conditions, and the following disclaimer.
  * 2. Redistributions in binary form must reproduce the above copyright
  *    notice, this list of conditions and the following disclaimer in the
  *    documentation and/or other materials provided with the distribution.
  *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS "AS IS"
  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
 
 /**
  * @file    ewk_back_forward_list.h
- * @brief   Describes the Ewk Back Forward List API.
+ * @brief   This file describes the Ewk Back Forward List API.
  */
 
 #ifndef ewk_back_forward_list_h
 #define ewk_back_forward_list_h
 
+#include <Eina.h>
+#include <tizen.h>
 #include "ewk_back_forward_list_item.h"
 #include <tizen.h>
 
 extern "C" {
 #endif
 
-/** Creates a type name for Ewk_Back_Forward_List */
-typedef struct _Ewk_Back_Forward_List Ewk_Back_Forward_List;
+/**
+ * @addtogroup WEBVIEW
+ * @{
+ */
 
 /**
-* Returns the current item in the @a list.
-*
-* @param list the back-forward list instance
-*
-* @return the current item in the @a list or @c NULL in case of error
-*/
-EXPORT_API Ewk_Back_Forward_List_Item *ewk_back_forward_list_current_item_get(const Ewk_Back_Forward_List *list);
+ * @brief The structure type that creates a type name for
+ *        Ewk_Back_Forward_List.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ */
+typedef struct _Ewk_Back_Forward_List Ewk_Back_Forward_List;
 
 /**
-* Returns the item that precedes the current item in the @a list.
-*
-* @param list the back-forward list instance
-*
-* @return the item that precedes the current item the @a list or @c NULL in case of error
-*/
-EXPORT_API Ewk_Back_Forward_List_Item *ewk_back_forward_list_previous_item_get(const Ewk_Back_Forward_List *list);
+ * @brief Returns the current item in the @a list.
+ *
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ *
+ * @param[in] list The back-forward list instance
+ *
+ * @return The current item in the @a list,\n
+ *         otherwise @c NULL in case of an error
+ */
+EXPORT_API Ewk_Back_Forward_List_Item* ewk_back_forward_list_current_item_get(const Ewk_Back_Forward_List* list);
 
 /**
-* Returns the item that follows the current item in the @a list.
-*
-* @param list the back-forward list instance
-*
-* @return the item that follows the current item in the @a list or @c NULL in case of error
-*/
-EXPORT_API Ewk_Back_Forward_List_Item *ewk_back_forward_list_next_item_get(const Ewk_Back_Forward_List *list);
+ * @brief Returns the item that precedes the current item in the @a list.
+ *
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ *
+ * @param[in] list The back-forward list instance
+ *
+ * @return The item that precedes the current item in the @a list,\n
+ *         otherwise @c NULL in case of an error
+ */
+EXPORT_API Ewk_Back_Forward_List_Item* ewk_back_forward_list_previous_item_get(const Ewk_Back_Forward_List* list);
 
 /**
-* Returns the item at a given @a index relative to the current item.
-*
-* @param list the back-forward list instance
-* @param index the index of the item
-*
-* @return the item at a given @a index relative to the current item or @c NULL in case of error
-*/
-EXPORT_API Ewk_Back_Forward_List_Item *ewk_back_forward_list_item_at_index_get(const Ewk_Back_Forward_List *list, int index);
+ * @brief Returns the item that follows the current item in the @a list.
+ *
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ *
+ * @param[in] list The back-forward list instance
+ *
+ * @return The item that follows the current item in the @a list,\n
+ *         otherwise @c NULL in case of an error
+ */
+EXPORT_API Ewk_Back_Forward_List_Item* ewk_back_forward_list_next_item_get(const Ewk_Back_Forward_List* list);
 
 /**
-* Returns the length of the back-forward list including current item.
-*
-* @param list the back-forward list instance
-*
-* @return the length of the back-forward list including current item or @c 0 in case of error
-*/
-EXPORT_API unsigned ewk_back_forward_list_count(Ewk_Back_Forward_List *list);
+ * @brief Returns the item at a given @a index relative to the current item.
+ *
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ *
+ * @param[in] list The back-forward list instance
+ * @param[in] index The index of the item
+ *
+ * @return The item at a given @a index relative to the current item,\n
+ *         otherwise @c NULL in case of an error
+ */
+EXPORT_API Ewk_Back_Forward_List_Item* ewk_back_forward_list_item_at_index_get(const Ewk_Back_Forward_List* list, int index);
 
 /**
-* Creates the list containing the items preceding the current item limited by @a limit.
-*
-* The @c Ewk_Back_Forward_List_Item elements are located in the result list starting with the oldest one.
-* if @a limit is equal to @c -1 all the items preceding the current item are returned.
-*
-* @param list the back-forward list instance
-* @param limit the number of items to retrieve
-*
-* @return @c Eina_List containing @c Ewk_Back_Forward_List_Item elements or @c NULL in case of error,
-*            the Eina_List and its items should be freed after use. Use ewk_back_forward_list_item_unref()
-*            to free the items
-*/
-EXPORT_API Eina_List *ewk_back_forward_list_n_back_items_copy(const Ewk_Back_Forward_List *list, int limit);
+ * @brief Returns the length of the back-forward list including the current
+ *        item.
+ *
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ *
+ * @param[in] list The back-forward list instance
+ *
+ * @return The length of the back-forward list including the current item,\n
+ *         otherwise @c 0 in case of an error
+ */
+EXPORT_API unsigned ewk_back_forward_list_count(Ewk_Back_Forward_List* list);
 
 /**
-* Creates the list containing the items following the current item limited by @a limit.
-*
-* The @c Ewk_Back_Forward_List_Item elements are located in the result list starting with the oldest one.
-* if @a limit is equal to @c -1 all the items preceding the current item are returned.
-*
-* @param list the back-forward list instance
-* @param limit the number of items to retrieve
-*
-* @return @c Eina_List containing @c Ewk_Back_Forward_List_Item elements or @c NULL in case of error,
-*            the Eina_List and its items should be freed after use. Use ewk_back_forward_list_item_unref()
-*            to free the items
-*/
-EXPORT_API Eina_List *ewk_back_forward_list_n_forward_items_copy(const Ewk_Back_Forward_List *list, int limit);
+ * @brief Creates a list containing the items preceding the current item limited
+ *        by @a limit.
+ *
+ * @details The @c Ewk_Back_Forward_List_Item elements are located in the result
+            list starting with the oldest one.\n
+ *          If @a limit is equal to @c -1 all the items preceding the current
+ *          item are returned.
+ *
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ *
+ * @param[in] list The back-forward list instance
+ * @param[in] limit The number of items to retrieve
+ *
+ * @return @c Eina_List containing @c Ewk_Back_Forward_List_Item elements,\n
+ *         otherwise @c NULL in case of an error\n
+ *         The Eina_List and its items should be freed after use\n
+ *         Use ewk_back_forward_list_item_unref() to free the items
+ */
+EXPORT_API Eina_List* ewk_back_forward_list_n_back_items_copy(const Ewk_Back_Forward_List* list, int limit);
 
 /**
-* Creates the list containing the items preceding the current item.
-*
-* The @c Ewk_Back_Forward_List_Item elements are located in the result list starting with the oldest one.
-*
-* @param list the back-forward list instance
-*
-* @return @c Eina_List containing @c Ewk_Back_Forward_List_Item elements or @c NULL in case of error,
-*            the Eina_List and its items should be freed after use. Use ewk_back_forward_list_item_unref()
-*            to free the items
-*
-* @see ewk_back_forward_list_n_back_items_copy
-*/
-#define ewk_back_forward_list_back_items_copy(list) \
-   ewk_back_forward_list_n_back_items_copy(list, -1)
+ * @brief Creates the list containing the items following the current item
+ *        limited by @a limit.
+ *
+ * @details The @c Ewk_Back_Forward_List_Item elements are located in the result
+ *          list starting with the oldest one.\n
+ *          If @a limit is equal to @c -1 all the items preceding the current
+ *          item are returned.
+ *
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ *
+ * @param[in] list The back-forward list instance
+ * @param[in] limit The number of items to retrieve
+ *
+ * @return @c Eina_List containing @c Ewk_Back_Forward_List_Item elements,\n
+ *         otherwise @c NULL in case of an error,\n
+ *         The Eina_List and its items should be freed after use\n
+ *         Use ewk_back_forward_list_item_unref() to free the items
+ */
+EXPORT_API Eina_List* ewk_back_forward_list_n_forward_items_copy(const Ewk_Back_Forward_List* list, int limit);
 
 /**
-* Creates the list containing the items following the current item.
-*
-* The @c Ewk_Back_Forward_List_Item elements are located in the result list starting with the oldest one.
-*
-* @param list the back-forward list instance
-*
-* @return @c Eina_List containing @c Ewk_Back_Forward_List_Item elements or @c NULL in case of error,
-*            the Eina_List and its items should be freed after use. Use ewk_back_forward_list_item_unref()
-*            to free the items
-*
-* @see ewk_back_forward_list_n_forward_items_copy
+* @}
 */
-#define ewk_back_forward_list_forward_items_copy(list) \
-   ewk_back_forward_list_n_forward_items_copy(list, -1)
 
 #ifdef __cplusplus
 }
 #endif
 
 #endif // ewk_back_forward_list_h
-
index db4b13c..917fea5 100644 (file)
@@ -1,17 +1,16 @@
 /*
  * Copyright (C) 2012 Intel Corporation. All rights reserved.
- * Copyright (C) 2014 Samsung Electronics. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
  * are met:
  * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
+ *    notice, this list of conditions, and the following disclaimer.
  * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
+ *    notice, this list of conditions, and the following disclaimer in the
  *    documentation and/or other materials provided with the distribution.
  *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS "AS IS"
  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
@@ -26,7 +25,7 @@
 
 /**
  * @file    ewk_back_forward_list_item.h
- * @brief   Describes the Ewk Back Forward List Item API.
+ * @brief   This file describes the Ewk Back Forward List Item API.
  */
 
 #ifndef ewk_back_forward_list_item_h
@@ -40,77 +39,103 @@ extern "C" {
 #endif
 
 /**
- * Declare Ewk_Back_Forward_List_Item as Ewk_Object.
- *
- * @see Ewk_Object
+ * @addtogroup WEBVIEW
+ * @{
+ */
+
+/**
+ * @brief The structure type that creates a type name for
+ *        Ewk_Back_Forward_List_Item.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
 typedef struct _Ewk_Back_Forward_List_Item Ewk_Back_Forward_List_Item;
 
 /**
- * Increases the reference count of the given object.
+ * @brief Increases the reference count of the given object.
  *
- * @param item the back-forward list item instance to increase the reference count
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @return a pointer to the object on success, @c NULL otherwise.
+ * @param[in] item The back-forward list item instance to increase the reference
+ *            count
+ *
+ * @return A pointer to the object on success,\n
+ *         otherwise @c NULL
  */
-EXPORT_API Ewk_Back_Forward_List_Item *ewk_back_forward_list_item_ref(Ewk_Back_Forward_List_Item *item);
+EXPORT_API Ewk_Back_Forward_List_Item* ewk_back_forward_list_item_ref(Ewk_Back_Forward_List_Item* item);
 
 /**
- * Decreases the reference count of the given object, possibly freeing it.
+ * @brief Decreases the reference count of the given object,
+ *        possibly freeing it.
+ *
+ * @details When the reference count reaches @c 0, the item is freed.
  *
- * When the reference count reaches 0, the item is freed.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param item the back-forward list item instance to decrease the reference count
+ * @param[in] item The back-forward list item instance to decrease the reference
+ *            count
  */
-EXPORT_API void ewk_back_forward_list_item_unref(Ewk_Back_Forward_List_Item *item);
+EXPORT_API void ewk_back_forward_list_item_unref(Ewk_Back_Forward_List_Itemitem);
 
 /**
- * Returns URL of the item.
+ * @brief Returns the URL of the item.
  *
- * The returned URL may differ from the original URL (For example if the page was redirected).
+ * @details The returned URL may differ from the original URL (For example,
+ *          if the page is redirected).
  *
- * @see ewk_back_forward_list_item_original_url_get()
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param item the back-forward list item instance
+ * @param[in] item The back-forward list item instance
  *
- * @return the URL of the @a item or @c NULL in case of error. This pointer is
- *         guaranteed to be eina_stringshare, so whenever possible
- *         save yourself some cpu cycles and use
- *         eina_stringshare_ref() instead of eina_stringshare_add() or
+ * @return The URL of the @a item,\n
+ *         otherwise @c NULL in case of an error\n
+ *         This pointer is guaranteed to be eina_stringshare,\n
+ *         so whenever possible save yourself some CPU cycles and\n
+ *         use eina_stringshare_ref() instead of eina_stringshare_add() or
  *         strdup()
+ *
+ * @see ewk_back_forward_list_item_original_url_get()
  */
-EXPORT_API const char *ewk_back_forward_list_item_url_get(const Ewk_Back_Forward_List_Item *item);
+EXPORT_API const char* ewk_back_forward_list_item_url_get(const Ewk_Back_Forward_List_Item* item);
 
 /**
- * Returns title of the item.
+ * @brief Returns the title of the item.
+ *
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param item the back-forward list item instance
+ * @param[in] item The back-forward list item instance
  *
- * @return the title of the @a item or @c NULL in case of error. This pointer is
- *         guaranteed to be eina_stringshare, so whenever possible
- *         save yourself some cpu cycles and use
- *         eina_stringshare_ref() instead of eina_stringshare_add() or
+ * @return The title of the @a item,\n
+ *         otherwise @c NULL in case of an error\n
+ *         This pointer is guaranteed to be eina_stringshare,\n
+ *         so whenever possible save yourself some CPU cycles and\n
+ *         use eina_stringshare_ref() instead of eina_stringshare_add() or
  *         strdup()
  */
-EXPORT_API const char *ewk_back_forward_list_item_title_get(const Ewk_Back_Forward_List_Item *item);
+EXPORT_API const char* ewk_back_forward_list_item_title_get(const Ewk_Back_Forward_List_Item* item);
 
 /**
- * Returns original URL of the item.
+ * @brief Returns the original URL of the item.
  *
- * @see ewk_back_forward_list_item_url_get()
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param item the back-forward list item instance
+ * @param[in] item The back-forward list item instance
  *
- * @return the original URL of the @a item or @c NULL in case of error. This pointer is
- *         guaranteed to be eina_stringshare, so whenever possible
- *         save yourself some cpu cycles and use
- *         eina_stringshare_ref() instead of eina_stringshare_add() or
+ * @return The original URL of the @a item,\n
+ *         otherwise @c NULL in case of an error\n
+ *         This pointer is guaranteed to be eina_stringshare,\n
+ *         so whenever possible save yourself some CPU cycles and\n
+ *         use eina_stringshare_ref() instead of eina_stringshare_add() or
  *         strdup()
+ *
+ * @see ewk_back_forward_list_item_url_get()
  */
-EXPORT_API const char *ewk_back_forward_list_item_original_url_get(const Ewk_Back_Forward_List_Item *item);
+EXPORT_API const char* ewk_back_forward_list_item_original_url_get(const Ewk_Back_Forward_List_Item* item);
+
+/**
+* @}
+*/
 
 #ifdef __cplusplus
 }
 #endif
-
 #endif // ewk_back_forward_list_item_h
index 387c473..00c1aa0 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "ewk_certificate.h"
+#include "ewk_certificate_internal.h"
 
 #include <string>
 
index 1715761..a4ac073 100644 (file)
@@ -1,65 +1,36 @@
-// Copyright 2013 Samsung Electronics. All rights reserved.
+// Copyright 2016 Samsung Electronics. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-// Common header for all Ewk API implemented over Chromium Efl Webview
-// It is replacement for EWebKit2.h for EFL Webkit2 based Webview
+#ifndef ewk_chromium_efl_h
+#define ewk_chromium_efl_h
 
-#ifndef ewk_chromium_h
-#define ewk_chromium_h
-
-#include <ewk_application_cache_manager.h>
-#include <ewk_auth_challenge.h>
-#include <ewk_auth_request.h>
-#include <ewk_autofill_profile.h>
-#include <ewk_back_forward_list.h>
-#include <ewk_back_forward_list_item.h>
-#include <ewk_certificate.h>
-#include <ewk_chromium.h>
-#include <ewk_console_message.h>
-#include <ewk_content_screening_detection.h>
-#include <ewk_context.h>
-#include <ewk_context_menu.h>
-#include <ewk_cookie_manager.h>
-#include <ewk_custom_handlers.h>
-#include <ewk_dispatcher.h>
-#include <ewk_enums.h>
-#include <ewk_error.h>
-#include <ewk_export.h>
-#include <ewk_favicon_database.h>
-#include <ewk_frame.h>
-#include <ewk_geolocation.h>
-#include <ewk_history.h>
-#include <ewk_hit_test.h>
-#include <ewk_intercept_request.h>
-#include <ewk_ipc_message.h>
-#include <ewk_log.h>
-#include <ewk_main.h>
-#include <ewk_notification.h>
-#include <ewk_object.h>
-#include <ewk_page_group.h>
-#include <ewk_policy_decision.h>
-#include <ewk_popup_menu_item.h>
-#include <ewk_security_origin.h>
-#include <ewk_settings.h>
-#include <ewk_storage_manager.h>
-#include <ewk_text_style.h>
-#include <ewk_touch.h>
-#include <ewk_user_media.h>
-#include <ewk_view.h>
-#include <ewk_web_application_icon_data.h>
-#include <ewk_window_features.h>
+#include "EWebKit.h"
+#include "EWebKit_internal.h"
+#include "EWebKit_product.h"
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
 /**
+ * @brief This file is no longer supported and all its function are
+ * deprecated now. It will be removed soon.
+ */
+
+/**
  * Append specified flag to chromium command line. This method should
  * be called after @ewk_set_arguments, but before @ewk_init. Calling it
  * after @ewk_init won't have any affects as in most cases chromium has
  * already processed most command line parameters.
  *
+ * @deprecated Deprecated since Tizen 3.0.
+ * This has been deprecated due to it was exposed on the internal needs.
+ * Secondly, this function can not add command line switches defined as pair
+ * (flag=value).
+ * If there is a need to pass command line param it can be achieved
+ * by ewk_set_arguments.
+ *
  * @param flag Chromium command line flag
  *
  * @returns EINA_TRUE in case the call succeeded, EINA_FALSE in case it
index ac0cc81..b799838 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "ewk_console_message.h"
+#include "ewk_console_message_internal.h"
 
 #include "private/ewk_console_message_private.h"
 
@@ -3,12 +3,12 @@
 // found in the LICENSE file.
 
 /**
- * @file    ewk_console_message.h
+ * @file    ewk_console_message_internal.h
  * @brief   Describes the Console Message API.
  */
 
-#ifndef ewk_console_message_h
-#define ewk_console_message_h
+#ifndef ewk_console_message_internal_h
+#define ewk_console_message_internal_h
 
 #include <Eina.h>
 #include <tizen.h>
@@ -75,4 +75,4 @@ EXPORT_API Eina_Stringshare* ewk_console_message_source_get(const Ewk_Console_Me
 }
 #endif
 
-#endif // ewk_console_message_h
+#endif // ewk_console_message_internal_h
index 6395539..5a5727b 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "ewk_content_screening_detection.h"
+#include "ewk_content_screening_detection_internal.h"
 #include "private/ewk_private.h"
 
 void ewk_content_screening_detection_confirmed_set(Ewk_Content_Screening_Detection* content_screening_detection, Eina_Bool confirmed)
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef ewk_content_screening_detection_h
-#define ewk_content_screening_detection_h
+#ifndef ewk_content_screening_detection_internal_h
+#define ewk_content_screening_detection_internal_h
 
 #include <Eina.h>
 #include "ewk_error.h"
@@ -48,4 +48,4 @@ EXPORT_API Ewk_Error* ewk_content_screening_detection_error_get(Ewk_Content_Scre
 #ifdef __cplusplus
 }
 #endif
-#endif
+#endif //ewk_content_screening_detection_internal_h
index 8cd01f5..8422922 100644 (file)
-// Copyright 2013-2015 Samsung Electronics. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef ewk_context_h
-#define ewk_context_h
-
-#include <Evas.h>
-
-#include "ewk_autofill_profile.h"
-#include "ewk_cookie_manager.h"
-#include "ewk_enums.h"
-#include "ewk_export.h"
-#include "ewk_notification.h"
-#include "ewk_security_origin.h"
-#include "ewk_application_cache_manager.h"
-#include "ewk_favicon_database.h"
-#include "ewk_storage_manager.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/// Extensible API enum is not supported in chromium.
-typedef void* Ewk_Extensible_API;
-
-typedef struct Ewk_Context Ewk_Context;
-typedef struct Ewk_Context_Exceeded_Quota Ewk_Context_Exceeded_Quota;
-
-typedef void (*Ewk_Context_Notification_Show_Callback)(
-    Ewk_Context*,
-    Ewk_Notification*,
-    void*);
-typedef void (*Ewk_Context_Notification_Cancel_Callback)(
-    Ewk_Context*,
-    uint64_t,
-    void*);
-
-/**
- * Deletes Ewk_Context.
- *
- * @param context Ewk_Context to delete
- */
-EXPORT_API void ewk_context_delete(Ewk_Context* context);
-
-/**
- * Notify low memory to free unused memory.
- *
- * @param o context object to notify low memory.
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise.
- */
-EXPORT_API Eina_Bool ewk_context_notify_low_memory(Ewk_Context* ewkContext);
-
-/**
- * Sets the given proxy URI to network backend of specific context.
- *
- * @param ewkContext context object to set proxy URI.
- * @param proxy URI to set
- */
-EXPORT_API void ewk_context_proxy_uri_set(Ewk_Context* ewkContext, const char* proxy);
-
-/**
- * Gets the proxy URI from the network backend of specific context.
- *
- * It returns an internal string and should not
- * be modified. The string is guaranteed to be stringshared.
- *
- * @param ewkContext context object to get proxy URI.
- *
- * @return current proxy URI or @c 0 if it's not set
- */
-EXPORT_API const char* ewk_context_proxy_uri_get(Ewk_Context* ewkContext);
-
-/**
- * @typedef Ewk_Local_File_System_Origins_Get_Callback Ewk_Local_File_System_Origins_Get_Callback
- * @brief Type definition for use with ewk_context_local_file_system_origins_get()
- */
-typedef void (*Ewk_Local_File_System_Origins_Get_Callback)(Eina_List *origins, void *user_data);
-
-/**
- * Callback for ewk_context_application_cache_origins_get
- *
- * @param origins web application cache origins
- * @param user_data user_data will be passsed when ewk_context_application_cache_origins_get is called
- */
-typedef void (*Ewk_Web_Application_Cache_Origins_Get_Callback)(Eina_List* origins, void* user_data);
-
-/**
- * Callback for ewk_context_application_cache_quota_get.
- *
- * @param quota web application cache quota
- * @param user_data user_data will be passsed when ewk_context_application_cache_quota_get is called
- */
-typedef void (*Ewk_Web_Application_Cache_Quota_Get_Callback)(int64_t quota, void* user_data);
-
-/**
- * Callback for ewk_context_application_cache_usage_for_origin_get.
- *
- * @param usage web application cache usage for origin
- * @param user_data user_data will be passsed when ewk_context_application_cache_usage_for_origin_get is called
- */
-typedef void (*Ewk_Web_Application_Cache_Usage_For_Origin_Get_Callback)(int64_t usage, void* user_data);
-
-/**
- * Callback for ewk_context_application_cache_path_get.
- *
- * @param path web application cache directory
- * @param user_data user_data will be passsed when ewk_context_application_cache_path_get is called
- */
-//typedef void (*Ewk_Web_Application_Cache_Path_Get_Callback)(const char* path, void* user_data);
-
-/**
- * Callback for ewk_context_web_database_origins_get.
- *
- * @param origins web database origins
- * @param user_data user_data will be passsed when ewk_context_web_database_origins_get is called
- */
-typedef void (*Ewk_Web_Database_Origins_Get_Callback)(Eina_List* origins, void* user_data);
-
-/**
- * Callback for ewk_context_web_database_quota_for_origin_get.
- *
- * @param quota web database quota
- * @param user_data user_data will be passsed when ewk_context_web_database_quota_for_origin_get is called
- */
-typedef void (*Ewk_Web_Database_Quota_Get_Callback)(uint64_t quota, void* user_data);
-
-/**
- * Callback for ewk_context_web_database_usage_for_origin_get.
- *
- * @param usage web database usage
- * @param user_data user_data will be passsed when ewk_context_web_database_usage_for_origin_get is called
- */
-typedef void (*Ewk_Web_Database_Usage_Get_Callback)(uint64_t usage, void* user_data);
-
-/**
- * Callback for ewk_context_web_database_path_get.
- *
- * @param path web database directory
- * @param user_data user_data will be passsed when ewk_context_web_database_path_get is called
- */
-//typedef void (*Ewk_Web_Database_Path_Get_Callback)(const char* path, void* user_data);
-
-/**
- * Callback for ewk_context_web_storage_origins_get.
- *
- * @param origins web storage origins
- * @param user_data user_data will be passsed when ewk_context_web_storage_origins_get is called
- */
-typedef void (*Ewk_Web_Storage_Origins_Get_Callback)(Eina_List* origins, void* user_data);
-
-/**
- * Callback for ewk_context_web_storage_usage_for_origin_get.
- *
- * @param usage usage of web storage
- * @param user_data user_data will be passsed when ewk_context_web_storage_usage_for_origin_get is called
- */
-typedef void (*Ewk_Web_Storage_Usage_Get_Callback)(uint64_t usage, void* user_data);
-
-/**
- * Callback for didStartDownload
- *
- * @param download_url url to download
- * @param user_data user_data will be passsed when download is started
- */
-typedef void (*Ewk_Context_Did_Start_Download_Callback)(const char* download_url, void* user_data);
-
-/**
- * Callback for overriding default mime type
- *
- * @param url url for which the mime type can be overridden
- * @param mime current mime type assumed by the web engine
- * @param new_mime string with a new mime type for content pointer by url. Should be allocated
- *                 dynamically by malloc or calloc. If callback returns EINA_TRUE, the browser will take ownership
- *                 of the allocated memory and free it when it's no longer needed using the free() function
- * @return true in case mime should be overridden by the contents of new_mime, false otherwise.
- *                 If false will be returned, the browser won't free the new_mime
- * @param user_data user_data will be passsed when ewk_context_mime_override_callback_set is called
- */
-typedef Eina_Bool (*Ewk_Context_Override_Mime_For_Url_Callback)(const char* url, const char *mime, char **new_mime, void* user_data);
-
 /*
- * Callback for changed profiles.
+ * Copyright (C) 2016 Samsung Electronics
  *
- * @param user_data user_data will be passsed when download is started
- */
-typedef void (*Ewk_Context_Form_Autofill_Profile_Changed_Callback)(void *data);
-
-/**
- * Requests for freeing origins.
- *
- * @param origins list of origins
- *
- * @return @c EINA_TRUE on success, @c EINA_FALSE on failure
- */
-EXPORT_API Eina_Bool ewk_context_origins_free(Eina_List* origins);
-
-/**
- * Requests for deleting all web application caches.
- *
- * @param context context object
- *
- * @return @c EINA_TRUE on successful request or @c EINA FALSE on failure
- */
-EXPORT_API Eina_Bool ewk_context_application_cache_delete_all(Ewk_Context* context);
-
-/**
- * Requests for deleting web application cache for origin.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
  *
- * @param context context object
- * @param origin application cache origin
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
  *
- * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
+ * You should have received a copy of the GNU Library General Public License
+ * along with this program; see the file COPYING.LIB.  If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
  */
-EXPORT_API Eina_Bool ewk_context_application_cache_delete(Ewk_Context* context, Ewk_Security_Origin* origin);
 
 /**
- * Requests for getting web application cache origins.
+ * @file    ewk_context.h
+ * @brief   This file describes the Ewk Context API.
  *
- * @param context context object
- * @param result_callback callback to get web application cache origins
- * @param user_data user_data will be passsed when result_callback is called
+ * @remarks ewk_context encapsulates all pages related to the specific use of
+ *          Chromium-efl
  *
- * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
+ * Applications have the option of creating a context different from the default
+ * one and using it for a group of pages. All pages in the same context share
+ * the same preferences, visited link set, local storage, and so on.
  *
- * @see ewk_context_origins_free
- */
-EXPORT_API Eina_Bool ewk_context_application_cache_origins_get(Ewk_Context* context, Ewk_Web_Application_Cache_Origins_Get_Callback callback, void* user_data);
-
-/**
- * Requests for setting application cache quota for origin.
+ * A process model can be specified per context. The default one is the shared
+ * model where the web-engine process is shared among the pages in the context.
+ * The second model allows each page to use a separate web-engine process.
+ * This latter model is currently not supported by Chromium-efl.
  *
- * @param context context object
- * @param origin serucity origin
- * @param quota size of quota
- *
- * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
  */
-EXPORT_API Eina_Bool ewk_context_application_cache_quota_for_origin_set(Ewk_Context* context, const Ewk_Security_Origin* origin, int64_t quota);
 
-/**
- * Requests for getting application cache usage for origin.
- *
- * @param context context object
- * @param origin security origin
- * @param result_callback callback to get web database usage
- * @param user_data user_data will be passed when result_callback is called
- *    -I.e., user data will be kept until callback is called
- *
- * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
- */
-EXPORT_API Eina_Bool ewk_context_application_cache_usage_for_origin_get(Ewk_Context* context, const Ewk_Security_Origin* origin, Ewk_Web_Application_Cache_Usage_For_Origin_Get_Callback callback, void* user_data);
-
-/**
- * Requests setting of the favicon database path.
- *
- * @param context context object
- * @param path database path.
- *
- * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
- */
-EXPORT_API Eina_Bool ewk_context_icon_database_path_set(Ewk_Context* context, const char* path);
-
-/**
- * Requests to get image representing the given URL.
- *
- * @param context context object
- * @param url which url to query icon, must not be @c 0
- * @param canvas evas instance where to add resulting object, must not be @c 0
- *
- * @return newly allocated Evas_Object instance or @c 0 on
- *         errors. Delete the object with evas_object_del().
- */
-EXPORT_API Evas_Object* ewk_context_icon_database_icon_object_add(Ewk_Context* context, const char* uri, Evas* canvas);
-
-/**
- * Requests for deleting all local file systems.
- *
- * @param context context object
- *
- * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
- */
-EXPORT_API Eina_Bool ewk_context_local_file_system_all_delete(Ewk_Context *context);
+#ifndef ewk_context_h
+#define ewk_context_h
 
-/**
- * Requests for deleting local file system for origin.
- *
- * @param context context object
- * @param origin local file system origin
- *
- * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
- */
-EXPORT_API Eina_Bool ewk_context_local_file_system_delete(Ewk_Context *context, Ewk_Security_Origin *origin);
+#include <Eina.h>
+#include <Evas.h>
+#include <tizen.h>
+#include "ewk_autofill_profile.h"
+#include "ewk_cookie_manager.h"
+#include "ewk_intercept_request.h"
 
- /**
- * Requests for getting local file system origins.
- *
- * @param context context object
- * @param result_callback callback to get local file system origins
- * @param user_data user_data will be passed when result_callback is called
- *    -I.e., user data will be kept until callback is called
- *
- * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
- *
- * @see ewk_context_origins_free
- */
-EXPORT_API Eina_Bool ewk_context_local_file_system_origins_get(const Ewk_Context *context, Ewk_Local_File_System_Origins_Get_Callback callback, void *user_data);
+#ifdef __cplusplus
+extern "C" {
+#endif
 
 /**
- * Requests for deleting all web databases.
- *
- * @param context context object
- *
- * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
+ * @addtogroup WEBVIEW
+ * @{
  */
-EXPORT_API Eina_Bool ewk_context_web_database_delete_all(Ewk_Context* context);
 
 /**
- * Requests for deleting web databases for origin.
- *
- * @param context context object
- * @param origin database origin
- *
- * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
+ * @brief The structure type that creates a type name for #Ewk_Context.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
-EXPORT_API Eina_Bool ewk_context_web_database_delete(Ewk_Context* context, Ewk_Security_Origin* origin);
+typedef struct Ewk_Context Ewk_Context;
 
 /**
- * Requests for getting web database origins.
+ * \enum    Ewk_Cache_Model
+ * @brief   Contains option for cache model
  *
- * @param context context object
- * @param result_callback callback to get web database origins
- * @param user_data user_data will be passed when result_callback is called
- *    -I.e., user data will be kept until callback is called
- *
- * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
- *
- * @see ewk_context_origins_free
+ * @since_tizen 2.4
  */
-EXPORT_API Eina_Bool ewk_context_web_database_origins_get( Ewk_Context* context, Ewk_Web_Database_Origins_Get_Callback callback, void* user_data);
+enum _Ewk_Cache_Model {
+    EWK_CACHE_MODEL_DOCUMENT_VIEWER,  /* Use the smallest cache capacity. */
+    EWK_CACHE_MODEL_DOCUMENT_BROWSER,  /* Use bigger cache capacity than EWK_CACHE_MODEL_DOCUMENT_VIEWER. */
+    EWK_CACHE_MODEL_PRIMARY_WEBBROWSER  /* Use the biggest cache capacity. */
+};
 
 /**
- * Requests for getting web database quota for origin.
- *
- * @param context context object
- * @param result_callback callback to get web database quota
- * @param user_data user_data will be passed when result_callback is called
- *    -I.e., user data will be kept until callback is called
- * @param origin database origin
- *
- * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
+ * @brief The structure type that creates a type name for Ewk_Cache_Model.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 3.0 @endif
  */
-EXPORT_API Eina_Bool ewk_context_web_database_quota_for_origin_get(Ewk_Context* context, Ewk_Web_Database_Quota_Get_Callback callback, void* user_data, Ewk_Security_Origin* origin);
+typedef enum _Ewk_Cache_Model Ewk_Cache_Model;
 
 /**
- * Requests for setting web database quota for origin.
+ * @brief Gets the cookie manager instance for this @a context.
  *
- * @param context context object
- * @param origin database origin
- * @param quota size of quota
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
- */
-EXPORT_API Eina_Bool ewk_context_web_database_quota_for_origin_set(Ewk_Context* context, Ewk_Security_Origin* origin, uint64_t quota);
-
-/**
- * Requests for getting web database usage for origin.
+ * @param[in] context The context object to query
  *
- * @param context context object
- * @param result_callback callback to get web database usage
- * @param user_data user_data will be passed when result_callback is called
- *    -I.e., user data will be kept until callback is called
- * @param origin database origin
- *
- * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
+ * @return The Ewk_Cookie_Manager object instance,\n
+ *         otherwise @c NULL in case of failure
  */
-EXPORT_API Eina_Bool ewk_context_web_database_usage_for_origin_get(Ewk_Context* context, Ewk_Web_Database_Usage_Get_Callback callback, void* user_data, Ewk_Security_Origin* origin);
+EXPORT_API Ewk_Cookie_Manager* ewk_context_cookie_manager_get(const Ewk_Context* context);
 
 /**
- * Requests for deleting all web indexed databases.
+ * @if MOBILE
+ * @brief Requests for deleting all web application caches.
  *
- * @param context context object
+ * @since_tizen 2.4
  *
- * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
- */
-EXPORT_API Eina_Bool ewk_context_web_indexed_database_delete_all(Ewk_Context* context);
-/**
- * Deletes all web storage.
- *
- * @param context context object
+ * @param[in] context Context object
  *
- * @return @c EINA_TRUE on success, @c EINA_FALSE on failure
+ * @return @c EINA_TRUE on success, otherwise @c EINA FALSE
+ * @endif
  */
-EXPORT_API Eina_Bool ewk_context_web_storage_delete_all(Ewk_Context* context);
-
-/**
- * Deletes origin that is stored in web storage db.
- *
- * @param context context object
- * @param origin origin of db
- *
- * @return @c EINA_TRUE on success, @c EINA_FALSE on failure
- */
-EXPORT_API Eina_Bool ewk_context_web_storage_origin_delete(Ewk_Context* context, Ewk_Security_Origin* origin);
+EXPORT_API Eina_Bool ewk_context_application_cache_delete_all(Ewk_Context* context);
 
 /**
- * Gets list of origins that is stored in web storage db.
- *
- * This function allocates memory for context structure made from callback and user_data.
+ * @brief Requests to set the cache model.
  *
- * @param context context object
- * @param result_callback callback to get web storage origins
- * @param user_data user_data will be passed when result_callback is called
- *    -I.e., user data will be kept until callback is called
+ * The default cache option is EWK_CACHE_MODEL_DOCUMENT_VIEWER.
  *
- * @return @c EINA_TRUE on success, @c EINA_FALSE on failure
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @See ewk_context_origins_free()
- */
-EXPORT_API Eina_Bool ewk_context_web_storage_origins_get(Ewk_Context* context, Ewk_Web_Storage_Origins_Get_Callback callback, void* user_data);
-/**
- * Gets usage of web storage for certain origin.
- *
- * This function allocates memory for context structure made from callback and user_data.
+ * @param[in] context The context object
+ * @param[in] model The cache model
  *
- * @param context context object
- * @param origin security origin
- * @param callback callback to get web storage usage
- * @param user_data user_data will be passed when result_callback is called
- *    -I.e., user data will be kept until callback is called
- *
- * @return @c EINA_TRUE on success, @c EINA_FALSE on failure
+ * @return @c EINA_TRUE on success,\n
+ *         otherwise @c EINA_FALSE
  */
-EXPORT_API Eina_Bool ewk_context_web_storage_usage_for_origin_get(Ewk_Context* context, Ewk_Security_Origin* origin, Ewk_Web_Storage_Usage_Get_Callback callback, void* user_data);
-
-/**
- * Requests for setting soup data path(soup data include cookie and cache).
- *
- * @param context context object
- * @param path soup data path to set
- *
- * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
- */
-EXPORT_API Eina_Bool ewk_context_soup_data_directory_set(Ewk_Context* context, const char* path);
-
-/**
-* Requests to set the cache model
-*
-* @param context context object
-* @param model cache model
-*
-* @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
-*/
 EXPORT_API Eina_Bool ewk_context_cache_model_set(Ewk_Context* context, Ewk_Cache_Model model);
 
 /**
-* Returns the cache model type
-*
-* @param context context object
-*
-* @return Ewk_Cache_Model
-*/
-EXPORT_API Ewk_Cache_Model ewk_context_cache_model_get(Ewk_Context* context);
-
-/**
-* Toggles the cache enable and disable
-*
-* @param context context object
-* @param enable or disable cache
-*
-* @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
-*/
-EXPORT_API Eina_Bool ewk_context_cache_disabled_set(Ewk_Context* ewkContext, Eina_Bool cacheDisabled);
-
-/**
-* Queries if the cache is enabled
-*
-* @param context context object
-*
-* @return @c EINA_TRUE is cache is enabled or @c EINA_FALSE otherwise
-*/
-EXPORT_API Eina_Bool ewk_context_cache_disabled_get(const Ewk_Context* ewkContext);
-
-/**
- * Request to set certifcate file
+ * @brief Returns the cache model type.
  *
- * @param context context object
- * @param certificate_file is path where certificate file is stored
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @return @c EINA_TRUE is cache is enabled or @c EINA_FALSE otherwise
- */
-EXPORT_API Eina_Bool ewk_context_certificate_file_set(Ewk_Context *context, const char *certificate_file);
-
-/**
-* Request to get certifcate file
-*
-* @param context context object
-*
-* @return @c certificate_file is path which is set during ewk_context_certificate_file_set or @c NULL otherwise
-*/
-EXPORT_API const char* ewk_context_certificate_file_get(const Ewk_Context *context);
-
-/**
- * Requests to clear cache
- *
- * @param context context object
+ * @param[in] context The context object
  *
- * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
+ * @return #Ewk_Cache_Model
  */
-EXPORT_API Eina_Bool ewk_context_cache_clear(Ewk_Context* ewkContext);
+EXPORT_API Ewk_Cache_Model ewk_context_cache_model_get(Ewk_Context* context);
 
 /**
- * Sets callback for started download.
+ * @if MOBILE
+ * @brief Saves the created profile into permenant storage
  *
- * @param context context object
- * @param callback callback for started download
- * @param user_data user data
- */
-EXPORT_API void ewk_context_did_start_download_callback_set(Ewk_Context* context, Ewk_Context_Did_Start_Download_Callback callback, void* user_data);
-
-/**
- * Sets callback for overriding mime type
+ * The profile used to save must be created by ewk_autofill_profile_new.
+ * Data can be added to the created profile by ewk_autofill_profile_data_set.
  *
- * @param context context object
- * @param callback callback to be invoked whenver the mime type can be overridden
- * @param user_data user data
- */
-EXPORT_API void ewk_context_mime_override_callback_set(Ewk_Context* context, Ewk_Context_Override_Mime_For_Url_Callback callback, void* user_data);
-
-/**
- * Deprecated, this function dose nothing, it's left to allow legacy applications to work with current builds
- * Starts memory sampler.
+ * @since_tizen 2.4
  *
- * @param context context object
- * @param interval time gap to fire the timer
- */
-EINA_DEPRECATED EXPORT_API void ewk_context_memory_sampler_start(Ewk_Context* context, double timer_interval);
-
-/**
- * Deprecated, this function dose nothing, it's left to allow legacy applications to work with current builds
- * Stops memory sampler.
+ * @param[in] context Context object
+ * @param[in] profile Ewk_Autofill_Profile
  *
- * @param context context object
- */
-EINA_DEPRECATED EXPORT_API void ewk_context_memory_sampler_stop(Ewk_Context* context);
-
-/**
- * @typedef Ewk_Vibration_Client_Vibrate_Cb Ewk_Vibration_Client_Vibrate_Cb
- * @brief Type definition for a function that will be called back when vibrate
- * request receiveed from the vibration controller.
- */
-typedef void (*Ewk_Vibration_Client_Vibrate_Cb)(uint64_t vibration_time, void *user_data);
-
-/**
- * @typedef Ewk_Vibration_Client_Vibration_Cancel_Cb Ewk_Vibration_Client_Vibration_Cancel_Cb
- * @brief Type definition for a function that will be called back when cancel
- * vibration request receiveed from the vibration controller.
- */
-typedef void (*Ewk_Vibration_Client_Vibration_Cancel_Cb)(void *user_data);
-
-/**
- * Increases the reference count of the given object.
- *
- * @param context context object to increase the reference count
+ * @return @c EINA_TRUE if the profile data is saved successfully, otherwise
+ *         @c EINA_FALSE
  *
- * @return Ewk_Context object on success or @c NULL on failure
+ * @see ewk_autofill_profile_new
+ * @endif
  */
-EXPORT_API Ewk_Context *ewk_context_ref(Ewk_Context *context);
+EXPORT_API Eina_Bool ewk_context_form_autofill_profile_add(Ewk_Context* context, Ewk_Autofill_Profile* profile);
 
 /**
- * Decreases the reference count of the given object, possibly freeing it.
+ * @if MOBILE
+ * @brief Gets the existing profile for given index
  *
- * When the reference count it's reached 0, the Ewk_Context is freed.
+ * @since_tizen 2.4
  *
- * @param context context object to decrease the reference count
- */
-EXPORT_API void ewk_context_unref(Ewk_Context *context);
-/**
- * Gets default Ewk_Context instance.
- *
- * The returned Ewk_Context object @b should not be unref'ed if application
- * does not call ewk_context_ref() for that.
+ * @param[in] context Context object
+ * @param[in] id Profile
  *
- * @return Ewk_Context object.
- */
-EXPORT_API Ewk_Context *ewk_context_default_get(void);
-
-/**
- * Creates a new Ewk_Context.
+ * @return @c Ewk_Autofill_Profile if profile exists, otherwise @c NULL
  *
- * The returned Ewk_Context object @b should be unref'ed after use.
- *
- * @return Ewk_Context object on success or @c NULL on failure
- *
- * @see ewk_context_unref
- * @see ewk_context_new_with_injected_bundle_path
+ * @see ewk_autofill_profile_delete
+ * @endif
  */
-EXPORT_API Ewk_Context *ewk_context_new(void);
+EXPORT_API Ewk_Autofill_Profile* ewk_context_form_autofill_profile_get(Ewk_Context* context, unsigned id);
 
 /**
- * Creates a new Ewk_Context.
- *
- * The returned Ewk_Context object @b should be unref'ed after use.
- *
- * Ewk view based on chromium engine does not support this API
- * Avoid using this API
- *
- * @param path path of injected bundle library
- *
- * @return Ewk_Context object on success or @c NULL on failure
- *
- * @see ewk_context_unref
- * @see ewk_context_new
- */
-EXPORT_API Ewk_Context *ewk_context_new_with_injected_bundle_path(const char *path);
-
-/*
- * Gets the cookie manager instance for this @a context.
+ * @if MOBILE
+ * @brief Gets a list of all existing profiles
  *
- * @param context context object to query.
+ * The obtained profile must be deleted by ewk_autofill_profile_delete.
  *
- * @return Ewk_Cookie_Manager object instance or @c NULL in case of failure.
- */
-EXPORT_API Ewk_Cookie_Manager *ewk_context_cookie_manager_get(const Ewk_Context *context);
-
-/**
- * Sets additional plugin directory.
+ * @since_tizen 2.4
  *
- * @param context context object
- * @param path the directory to be set
+ * @param[in] context Context object
  *
- * @return @c EINA_TRUE if the directory was set, @c EINA_FALSE otherwise
- */
-EXPORT_API Eina_Bool ewk_context_additional_plugin_path_set(Ewk_Context *context, const char *path);
-
-/**
- * Sets vibration client callbacks to handle the tactile feedback in the form of
- * vibration in the client application when the content asks for vibration.
- *
- * To stop listening for vibration events, you may call this function with @c
- * NULL for the callbacks.
- *
- * @param context context object to set vibration client callbacks.
- * @param vibrate The function to call when the vibrate request received from the
- *        controller (may be @c NULL).
- * @param cancel The function to call when the cancel vibration request received
- *        from the controller (may be @c NULL).
- * @param data User data (may be @c NULL).
- */
-EXPORT_API void ewk_context_vibration_client_callbacks_set(Ewk_Context *context, Ewk_Vibration_Client_Vibrate_Cb vibrate, Ewk_Vibration_Client_Vibration_Cancel_Cb cancel, void *data);
-
-/**
- * Sets memory saving mode.
- *
- * @param context context object
- * @param enable or disable memory saving mode
+ * @return @c Eina_List of Ewk_Autofill_Profile, otherwise @c NULL
  *
+ * @see ewk_autofill_profile_delete
+ * @endif
  */
-EXPORT_API void ewk_context_memory_saving_mode_set(Ewk_Context *context, Eina_Bool mode);
-
-struct Ewk_Password_Data {
-    char* url;
-    Eina_Bool useFingerprint;
-};
+EXPORT_API Eina_List* ewk_context_form_autofill_profile_get_all(Ewk_Context* context);
 
 /**
- * Deletes whole password data from DB
+ * @if MOBILE
+ * @brief Sets the given profile for the given id
  *
- * @param context context object
+ * Data can be added to the created profile by ewk_autofill_profile_data_set.
  *
- */
-EXPORT_API void ewk_context_form_password_data_delete_all(Ewk_Context* context);
-
-/**
- * Deletes password data from DB for given URL
+ * @since_tizen 2.4
  *
- * The API will delete the a password data from DB.
+ * @param[in] context Context object
+ * @param[in] id Profile
+ * @param[in] profile Ewk_Autofill_Profile
  *
- * @param const char* with url
+ * @return @c EINA_TRUE if the profile data is set successfully, otherwise
+ *         @c EINA_FALSE
  *
- * @see ewk_context_form_password_data_update
- * @see ewk_context_form_password_data_list_free
- * @see ewk_context_form_password_data_list_get
+ * @see ewk_autofill_profile_new
+ * @see ewk_context_form_autofill_profile_add
+ * @endif
  */
-EXPORT_API void ewk_context_form_password_data_delete(Ewk_Context* context, const char* url);
+EXPORT_API Eina_Bool ewk_context_form_autofill_profile_set(Ewk_Context* context, unsigned id, Ewk_Autofill_Profile* profile);
 
 /**
- * Get all password url list
+ * @if MOBILE
+ * @brief Removes Autofill Form profile completely
  *
- * The API will delete the a password data list only from the memory.
- * To remove the password data for URL permenantly, use ewk_context_form_password_data_delete
+ * @since_tizen 2.4
  *
- * @param Eina_List with Ewk_Password_Data
+ * @param[in] context Context object
+ * @param[in] id Profile
  *
- * @see ewk_context_form_password_data_update
- * @see ewk_context_form_password_data_delete
- * @see ewk_context_form_password_data_list_free
- */
-EXPORT_API Eina_List* ewk_context_form_password_data_list_get(Ewk_Context* context);
-
-/**
- * Deletes a given password data list
- *
- * The API will delete the a password data list only from the memory.
- * To remove the password data for URL permenantly, use ewk_context_form_password_data_delete
- *
- * @param Eina_List with Ewk_Password_Data
+ * @return @c EINA_TRUE if the profile data is removed successfully, otherwise
+           @c EINA_FALSE
  *
- * @see ewk_context_form_password_data_update
- * @see ewk_context_form_password_data_delete
- * @see ewk_context_form_password_data_list_get
+ * @see ewk_context_form_autofill_profile_get_all
+ * @endif
  */
-EXPORT_API void ewk_context_form_password_data_list_free(Ewk_Context* context, Eina_List* list);
+EXPORT_API Eina_Bool ewk_context_form_autofill_profile_remove(Ewk_Context* context, unsigned id);
 
 /**
- * Clear candidate data
+ * @if MOBILE
+ * @brief Deletes all candidate form data from DB
  *
- * @param context context object
+ * @since_tizen 2.4
  *
+ * @param[in] context Context object
+ * @endif
  */
 EXPORT_API void ewk_context_form_candidate_data_delete_all(Ewk_Context* context);
 
 /**
- * Sets callback for profiles change notification.
+ * @if MOBILE
+ * @brief Deletes whole password data from DB
  *
- * @param callback pointer to callback function
- * @param user_data user data returned on callback
+ * @since_tizen 2.4
  *
+ * @param context Context object
+ * @endif
  */
-EXPORT_API void ewk_context_form_autofill_profile_changed_callback_set(
-    Ewk_Context_Form_Autofill_Profile_Changed_Callback callback,
-    void* user_data);
+EXPORT_API void ewk_context_form_password_data_delete_all(Ewk_Context* context);
 
 /**
- * Gets a list of all existing profiles
+ * @brief Clears HTTP caches in the local storage and
+ *        all resources cached in memory\n
+ *        such as images, CSS, JavaScript, XSL, and fonts for @a context.
  *
- * The obtained profile must be deleted by ewk_autofill_profile_delete.
- * @param context context object
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @return @c Eina_List of Ewk_Autofill_Profile @c NULL otherwise
- * @see ewk_autofill_profile_delete
+ * @param[in] context The context object to clear all resource caches
  */
-EXPORT_API Eina_List* ewk_context_form_autofill_profile_get_all(Ewk_Context* context);
+EXPORT_API void ewk_context_resource_cache_clear(Ewk_Context* context);
 
 /**
- * Gets the existing profile for given index
+ * @if MOBILE
+ * @brief Requests to get image representing the given URL.
  *
- * The obtained profile must be deleted by ewk_autofill_profile_delete.
+ * @since_tizen 2.4
  *
- * @param context context object
- * @param profile id
+ * @param[in] context Context object
+ * @param[in] uri Which url to query icon, must not be @c 0
+ * @param[in] canvas Evas instance where to add resulting object,
+ *            must not be @c 0
  *
- * @return @c Ewk_Autofill_Profile if profile exists, @c NULL otherwise
- * @see ewk_autofill_profile_delete
+ * @return @c Evas_Object instance, otherwise @c 0
+ * @endif
  */
-EXPORT_API Ewk_Autofill_Profile* ewk_context_form_autofill_profile_get(Ewk_Context* context, unsigned id);
-
-/**
- * Sets the given profile for the given id
- *
- * Data can be added to the created profile by ewk_autofill_profile_data_set.
- *
- * @param context context object
- * @param profile id
- * @param profile Ewk_Autofill_Profile
- *
- * @return @c EINA_TRUE if the profile data is set successfully, @c EINA_FALSE otherwise
- * @see ewk_autofill_profile_new
- * @see ewk_context_form_autofill_profile_add
- */
-EXPORT_API Eina_Bool ewk_context_form_autofill_profile_set(Ewk_Context* context, unsigned id, Ewk_Autofill_Profile* profile);
+EXPORT_API Evas_Object* ewk_context_icon_database_icon_object_add(Ewk_Context* context, const char* uri, Evas* canvas);
 
 /**
- * Saves the created profile into permenant storage
+ * @if MOBILE
+ * @deprecated Deprecated 2.4
  *
- * The profile used to save must be created by ewk_autofill_profile_new.
- * Data can be added to the created profile by ewk_autofill_profile_data_set.
+ * @brief Sets the list of preferred languages.
  *
- * @param context context object
- * @param profile Ewk_Autofill_Profile
+ * @details This function sets the list of preferred langages.\n
+ *          This list will be used to build the "Accept-Language" header that
+ *          will be included in the network requests.\n
+ *          The client can pass @c NULL for languages to clear what is set
+ *          before.
  *
- * @return @c EINA_TRUE if the profile data is saved successfully, @c EINA_FALSE otherwise
- * @see ewk_autofill_profile_new
- */
-EXPORT_API Eina_Bool ewk_context_form_autofill_profile_add(Ewk_Context* context, Ewk_Autofill_Profile* profile);
-
-/**
- * Removes Autofill Form profile completely
+ * @since_tizen 2.3
  *
- * @param context context object
- * @param index profile id
+ * @remarks All contexts will be affected.
  *
- * @return @c EINA_TRUE if the profile data is removed successfully, @c EINA_FALSE otherwise
- * @see ewk_context_form_autofill_profile_get_all
+ * @param[in] languages The list of preferred languages (char* as data),\n
+ *                      otherwise @c NULL
+ * @endif
  */
-EXPORT_API Eina_Bool ewk_context_form_autofill_profile_remove(Ewk_Context* context, unsigned id);
+EXPORT_API void ewk_context_preferred_languages_set(Eina_List* languages);
 
 /**
- * Get tizen extensible api enable state
+ * @if MOBILE
+ * @brief Requests for deleting all web indexed databases.
  *
- * @param context context object
- * @param extensible_api extensible API name of every kind
+ * @since_tizen 2.4
  *
- * @return @c EINA_TRUE if the extensibleAPI set as true or @c EINA_FALSE otherwise
- */
-EXPORT_API Eina_Bool ewk_context_tizen_extensible_api_string_get(Ewk_Context* context,  const char* extensible_api);
-
-/**
- * Toggles tizen extensible api enable and disable
+ * @param[in] context Context object
  *
- * @param context context object
- * @param extensible_api extensible API name of every kind
- * @param enable enable or disable tizen extensible api
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
+ * @return @c EINA_TRUE on success, otherwise @c EINA_FALSE
+ * @endif
  */
-EXPORT_API Eina_Bool ewk_context_tizen_extensible_api_string_set(Ewk_Context *context,  const char *extensible_api, Eina_Bool enable);
-
-/**
- * Toggles tizen extensible api enable and disable
- *
- * @param context context object
- * @param extensibleAPI extensible API of every kind
- * @param enable enable or disable tizen extensible api
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
- */
-EXPORT_API Eina_Bool ewk_context_tizen_extensible_api_set(Ewk_Context *context, Ewk_Extensible_API extensible_api, Eina_Bool enable);
+EXPORT_API Eina_Bool ewk_context_web_indexed_database_delete_all(Ewk_Context* context);
 
 /**
- * Get tizen extensible api enable state
+ * @if MOBILE
+ * @brief Deletes web storage.
  *
- * @param context context object
- * @param extensibleAPI extensible API of every kind
- *  *
- * @return @c EINA_TRUE if the extensibleAPI set as true or @c EINA_FALSE otherwise
- */
-EXPORT_API Eina_Bool ewk_context_tizen_extensible_api_get(Ewk_Context *ewkContext, Ewk_Extensible_API extensibleAPI);
-
-/**
- * Reset storage path such as web storage, web database, application cache and so on
+ * @details This function does not ensure that all data will be removed.
+ *          Should be used to extend free physical memory.
  *
- * @param context context object
+ * @since_tizen 2.4
  *
- */
-EXPORT_API void ewk_context_storage_path_reset(Ewk_Context* ewkContext);
-
-/**
- * Sets the given id for the pixmap
+ * @param[in] context Context object
  *
- * @param context context object
- * @param pixmap id
- *
- * @return @c EINA_TRUE if the pixmap set successfully, @c EINA_FALSE otherwise
+ * @return @c EINA_TRUE on success, otherwise @c EINA_FALSE
+ * @endif
  */
-EXPORT_API Eina_Bool ewk_context_pixmap_set(Ewk_Context* context, int pixmap);
+EXPORT_API Eina_Bool ewk_context_web_storage_delete_all(Ewk_Context* context);
 
 /**
- * Start the inspector server
+ * @brief   Callback for intercept request feature.
  *
- * @param context context object
- * @param port number
+ * @details Ewk_Context_Intercept_Request_Callback callback allows host
+ *          application to intercept a resource request and write custom
+ *          response.
  *
- * @return @c return the port number
- */
-EXPORT_API unsigned int ewk_context_inspector_server_start(Ewk_Context* context, unsigned int port);
-
-/**
- * Stop the inspector server
+ * @warning Callback is not called on UI thread, so user should be cautious
+ *          when accessing their data also used on UI thread. No ewk api other
+ *          than ewk_intercept_request_* api should be used in the callback.
  *
- * @param context context object
-  *
- * @return @c EINA_TRUE if the inspector server stop set successfully, @c EINA_FALSE otherwise
- */
-EXPORT_API Eina_Bool ewk_context_inspector_server_stop(Ewk_Context* context);
-
-
-///------- belows are extension of chromium-ewk ---------------------------
-
-/**
- * Gets the id for the pixmap
+ * @remarks Inside the callback user can use the following EWK API calls on
+ *          a given Ewk_Intercept_Request instance to decide if request should
+ *          be intercepted or handled normally:
+ *          - ewk_intercept_request_url_get
+ *          - ewk_intercept_request_http_method_get
+ *          - ewk_intercept_request_headers_get
  *
- * @param context context object
+ *          To let engine handle the request normally, use
+ *          ewk_intercept_request_ignore *inside* the callback. Using it later
+ *          results in undefined behavior.
  *
- * @return @c id for the pixmap. On error default return is 0.
- */
-EXPORT_API int ewk_context_pixmap_get(Ewk_Context *context);
-
-EXPORT_API void ewk_send_widget_info(Ewk_Context *context, const char* tizen_id, double scale, const char *theme, const char *encodedBundle);
-
-/**
- * Gets the application cache manager instance for this @a context.
+ *          To respond to a request with a custom response, use
+ *          ewk_intercept_request_response_set or
+ *          ewk_intercept_request_response_body_set inside or outside the
+ *          callback. Using it outside of the callback is advised for better
+ *          responsiveness. If your responses take too much time to prepare, it
+ *          would block handling other requests. You can also use
+ *          ewk_intercept_request_response_write outside the callback to write
+ *          response in chunks.
  *
- * @param context context object to query.
+ *          Handling a request is done after using either
+ *          ewk_intercept_request_ignore, ewk_intercept_request_response_set,
+ *          ewk_intercept_request_response_body_set, and in some cases after
+ *          ewk_intercept_request_response_write_chunk.
  *
- * @return Ewk_Cookie_Manager object instance or @c NULL in case of failure.
- */
-EXPORT_API Ewk_Application_Cache_Manager *ewk_context_application_cache_manager_get(const Ewk_Context *context);
-
-/**
- * Gets the favicon database instance for this @a context.
+ *          Further EWK API calls on this Ewk_Intercept_Request instance result
+ *          in undefined behavior.
  *
- * @param context context object to query.
+ *          Failing to call one of these functions results in leaking
+ *          Ewk_Intercept_Request object.
  *
- * @return Ewk_Favicon_Database object instance or @c NULL in case of failure.
- */
-EXPORT_API Ewk_Favicon_Database *ewk_context_favicon_database_get(const Ewk_Context *context);
-
-/**
- * Clears HTTP caches in local storage and all resources cached in memory
- * such as images, CSS, JavaScript, XSL, and fonts for @a context.
+ * @since_tizen 3.0
  *
- * @param context context object to clear all resource caches
+ * @param[in] ewk_context Ewk_Context for which callback was set
+ * @param[in] intercept_request Intercept request object for reading request
+ *            info and writing response data
+ * @param[in] user_data User data passed to
+ *            ewk_context_intercept_request_callback_set
  */
-EXPORT_API void ewk_context_resource_cache_clear(Ewk_Context *context);
+typedef void (*Ewk_Context_Intercept_Request_Callback)(Ewk_Context* ewk_context, Ewk_Intercept_Request* intercept_request, void* user_data);
 
 /**
- * Sets the favicon database directory for this @a context.
+ * @brief   Sets Ewk_Context_Intercept_Request_Callback
  *
- * Sets the directory path to be used to store the favicons database
- * for @a context on disk. Passing @c NULL as @a directory_path will
- * result in using the default directory for the platform.
+ * @details Sets Ewk_Context_Intercept_Request_Callback to give a chance to
+ *          intercept resource request before sending it and return a custom
+ *          response.
  *
- * Calling this method also means enabling the favicons database for
- * its use from the applications, it is therefore expected to be
- * called only once. Further calls for the same instance of
- * @a context will not have any effect.
+ * @remarks Pass NULL pointer as @a callback to reset current callback.
  *
- * @param context context object to update
- * @param directory_path database directory path to set
+ * @since_tizen 3.0
  *
- * @return @c EINA_TRUE if successful, @c EINA_FALSE otherwise
- */
-EXPORT_API Eina_Bool ewk_context_favicon_database_directory_set(Ewk_Context *context, const char *directory_path);
-
-/**
- * Sets the list of preferred languages.
- *
- * Sets the list of preferred langages. This list will be used to build the "Accept-Language"
- * header that will be included in the network requests.
- * Client can pass @c NULL for languages to clear what is set before.
+ * @param[in] ewk_context Ewk_Context object to intercept requests
+ * @param[in] callback New callback, NULL resets current callback
+ * @param[in] user_data User data passed to @a callback
  *
- * @param languages the list of preferred languages (char* as data) or @c NULL
- *
- * @note all contexts will be affected.
+ * @see Ewk_Context_Intercept_Request_Callback
  */
-EXPORT_API void ewk_context_preferred_languages_set(Eina_List *languages);
+EXPORT_API void ewk_context_intercept_request_callback_set(Ewk_Context* ewk_context, Ewk_Context_Intercept_Request_Callback callback, void* user_data);
 
 /**
- * Gets the storage manager instance for this @a context.
- *
- * @param context context object to query.
- *
- * @return Ewk_Storage_Manager object instance or @c NULL in case of failure.
- */
-EXPORT_API Ewk_Storage_Manager *ewk_context_storage_manager_get(const Ewk_Context *context);
-
-EXPORT_API Eina_Bool ewk_context_notification_callbacks_set(Ewk_Context* context,
-    Ewk_Context_Notification_Show_Callback show_callback,
-    Ewk_Context_Notification_Cancel_Callback cancel_callback, void* user_data);
-
-EXPORT_API Eina_Bool ewk_context_notification_callbacks_reset(Ewk_Context* context);
+* @}
+*/
 
 #ifdef __cplusplus
 }
diff --git a/tizen_src/ewk/efl_integration/public/ewk_context_internal.h b/tizen_src/ewk/efl_integration/public/ewk_context_internal.h
new file mode 100644 (file)
index 0000000..1965dd1
--- /dev/null
@@ -0,0 +1,638 @@
+/*
+ * Copyright (C) 2016 Samsung Electronics
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this program; see the file COPYING.LIB.  If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+/**
+ * @file    ewk_context_internal.h
+ * @brief   Describes the context API.
+ *
+ * @note ewk_context encapsulates all pages related to specific use of
+ *       Chromium-efl
+ *
+ * Applications have the option of creating a context different than the default
+ * one and use it for a group of pages. All pages in the same context share the
+ * same preferences, visited link set, local storage, etc.
+ *
+ * A process model can be specified per context. The default one is the shared
+ * model where the web-engine process is shared among the pages in the context.
+ * The second model allows each page to use a separate web-engine process.
+ * This latter model is currently not supported by Chromium-efl.
+ */
+
+#ifndef ewk_context_internal_h
+#define ewk_context_internal_h
+
+#include "ewk_application_cache_manager_internal.h"
+#include "ewk_context.h"
+#include "ewk_favicon_database_internal.h"
+#include "ewk_notification_internal.h"
+#include "ewk_security_origin_internal.h"
+#include "ewk_storage_manager_internal.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/// Extensible API enum is not supported in chromium.
+typedef void* Ewk_Extensible_API;
+
+typedef struct Ewk_Context_Exceeded_Quota Ewk_Context_Exceeded_Quota;
+
+typedef void (*Ewk_Context_Notification_Show_Callback)(
+    Ewk_Context*,
+    Ewk_Notification*,
+    void*);
+
+typedef void (*Ewk_Context_Notification_Cancel_Callback)(
+    Ewk_Context*,
+    uint64_t,
+    void*);
+
+/**
+ * Deletes Ewk_Context.
+ *
+ * @param context Ewk_Context to delete
+ */
+EXPORT_API void ewk_context_delete(Ewk_Context* context);
+
+/**
+ * Notify low memory to free unused memory.
+ *
+ * @param o context object to notify low memory.
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise.
+ */
+EXPORT_API Eina_Bool ewk_context_notify_low_memory(Ewk_Context* ewkContext);
+
+/**
+ * @typedef Ewk_Local_File_System_Origins_Get_Callback Ewk_Local_File_System_Origins_Get_Callback
+ * @brief Type definition for use with ewk_context_local_file_system_origins_get()
+ */
+typedef void (*Ewk_Local_File_System_Origins_Get_Callback)(Eina_List *origins, void *user_data);
+
+/**
+ * Callback for ewk_context_application_cache_origins_get
+ *
+ * @param origins web application cache origins
+ * @param user_data user_data will be passsed when ewk_context_application_cache_origins_get is called
+ */
+typedef void (*Ewk_Web_Application_Cache_Origins_Get_Callback)(Eina_List* origins, void* user_data);
+
+/**
+ * Callback for ewk_context_application_cache_quota_get.
+ *
+ * @param quota web application cache quota
+ * @param user_data user_data will be passsed when ewk_context_application_cache_quota_get is called
+ */
+typedef void (*Ewk_Web_Application_Cache_Quota_Get_Callback)(int64_t quota, void* user_data);
+
+/**
+ * Callback for ewk_context_application_cache_usage_for_origin_get.
+ *
+ * @param usage web application cache usage for origin
+ * @param user_data user_data will be passsed when ewk_context_application_cache_usage_for_origin_get is called
+ */
+typedef void (*Ewk_Web_Application_Cache_Usage_For_Origin_Get_Callback)(int64_t usage, void* user_data);
+
+/**
+ * Callback for ewk_context_application_cache_path_get.
+ *
+ * @param path web application cache directory
+ * @param user_data user_data will be passsed when ewk_context_application_cache_path_get is called
+ */
+//typedef void (*Ewk_Web_Application_Cache_Path_Get_Callback)(const char* path, void* user_data);
+
+/**
+ * Callback for ewk_context_web_database_origins_get.
+ *
+ * @param origins web database origins
+ * @param user_data user_data will be passsed when ewk_context_web_database_origins_get is called
+ */
+typedef void (*Ewk_Web_Database_Origins_Get_Callback)(Eina_List* origins, void* user_data);
+
+/**
+ * Callback for ewk_context_web_database_quota_for_origin_get.
+ *
+ * @param quota web database quota
+ * @param user_data user_data will be passsed when ewk_context_web_database_quota_for_origin_get is called
+ */
+typedef void (*Ewk_Web_Database_Quota_Get_Callback)(uint64_t quota, void* user_data);
+
+/**
+ * Callback for ewk_context_web_database_path_get.
+ *
+ * @param path web database directory
+ * @param user_data user_data will be passsed when ewk_context_web_database_path_get is called
+ */
+//typedef void (*Ewk_Web_Database_Path_Get_Callback)(const char* path, void* user_data);
+
+/**
+ * Callback for ewk_context_web_storage_origins_get.
+ *
+ * @param origins web storage origins
+ * @param user_data user_data will be passsed when ewk_context_web_storage_origins_get is called
+ */
+typedef void (*Ewk_Web_Storage_Origins_Get_Callback)(Eina_List* origins, void* user_data);
+
+/**
+ * Callback for ewk_context_web_storage_usage_for_origin_get.
+ *
+ * @param usage usage of web storage
+ * @param user_data user_data will be passsed when ewk_context_web_storage_usage_for_origin_get is called
+ */
+typedef void (*Ewk_Web_Storage_Usage_Get_Callback)(uint64_t usage, void* user_data);
+
+/**
+ * Callback for didStartDownload
+ *
+ * @param download_url url to download
+ * @param user_data user_data will be passsed when download is started
+ */
+typedef void (*Ewk_Context_Did_Start_Download_Callback)(const char* download_url, void* user_data);
+
+/**
+ * Callback for overriding default mime type
+ *
+ * @param url url for which the mime type can be overridden
+ * @param mime current mime type assumed by the web engine
+ * @param new_mime string with a new mime type for content pointer by url. Should be allocated
+ *                 dynamically by malloc or calloc. If callback returns EINA_TRUE, the browser will take ownership
+ *                 of the allocated memory and free it when it's no longer needed using the free() function
+ * @return true in case mime should be overridden by the contents of new_mime, false otherwise.
+ *                 If false will be returned, the browser won't free the new_mime
+ * @param user_data user_data will be passsed when ewk_context_mime_override_callback_set is called
+ */
+typedef Eina_Bool (*Ewk_Context_Override_Mime_For_Url_Callback)(const char* url, const char *mime, char **new_mime, void* user_data);
+
+/*
+ * Callback for changed profiles.
+ *
+ * @param user_data user_data will be passsed when download is started
+ */
+typedef void (*Ewk_Context_Form_Autofill_Profile_Changed_Callback)(void *data);
+
+/**
+ * Requests for freeing origins.
+ *
+ * @param origins list of origins
+ *
+ * @return @c EINA_TRUE on success, @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_context_origins_free(Eina_List* origins);
+
+/**
+ * Requests for deleting web application cache for origin.
+ *
+ * @param context context object
+ * @param origin application cache origin
+ *
+ * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_context_application_cache_delete(Ewk_Context* context, Ewk_Security_Origin* origin);
+
+/**
+ * Requests for getting application cache usage for origin.
+ *
+ * @param context context object
+ * @param origin security origin
+ * @param result_callback callback to get web database usage
+ * @param user_data user_data will be passed when result_callback is called
+ *    -I.e., user data will be kept until callback is called
+ *
+ * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_context_application_cache_usage_for_origin_get(Ewk_Context* context, const Ewk_Security_Origin* origin, Ewk_Web_Application_Cache_Usage_For_Origin_Get_Callback callback, void* user_data);
+
+/**
+ * Requests for deleting web databases for origin.
+ *
+ * @param context context object
+ * @param origin database origin
+ *
+ * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_context_web_database_delete(Ewk_Context* context, Ewk_Security_Origin* origin);
+
+/**
+ * Requests for getting web database origins.
+ *
+ * @param context context object
+ * @param result_callback callback to get web database origins
+ * @param user_data user_data will be passed when result_callback is called
+ *    -I.e., user data will be kept until callback is called
+ *
+ * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
+ *
+ * @see ewk_context_origins_free
+ */
+EXPORT_API Eina_Bool ewk_context_web_database_origins_get( Ewk_Context* context, Ewk_Web_Database_Origins_Get_Callback callback, void* user_data);
+
+/**
+ * Requests for setting soup data path(soup data include cookie and cache).
+ *
+ * @param context context object
+ * @param path soup data path to set
+ *
+ * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_context_soup_data_directory_set(Ewk_Context* context, const char* path);
+
+/**
+* Toggles the cache enable and disable
+*
+* @param context context object
+* @param enable or disable cache
+*
+* @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
+*/
+EXPORT_API Eina_Bool ewk_context_cache_disabled_set(Ewk_Context* ewkContext, Eina_Bool cacheDisabled);
+
+/**
+ * Adds CA certificates to persistent NSS certificate database
+ *
+ * Function accepts a path to a CA certificate file, a path to a directory
+ * containing CA certificate files, or a colon-seprarated list of those.
+ *
+ * Certificate files should have *.crt extension.
+ *
+ * Directories are traversed recursively.
+ *
+ * @param context context object
+ * @param certificate_file path to a CA certificate file(s), see above for details
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
+ */
+EXPORT_API Eina_Bool ewk_context_certificate_file_set(Ewk_Context *context, const char *certificate_path);
+
+/**
+* Gets CA certifcate file path
+*
+* It returns an internal string and should not be modified.
+*
+* @param context context object
+*
+* @return @c certificate_file is path which is set during ewk_context_certificate_file_set or @c NULL otherwise
+*/
+EXPORT_API const char* ewk_context_certificate_file_get(const Ewk_Context *context);
+
+/**
+ * Requests to clear cache
+ *
+ * @param context context object
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
+ */
+EXPORT_API Eina_Bool ewk_context_cache_clear(Ewk_Context* ewkContext);
+
+/**
+ * Sets callback for started download.
+ *
+ * @param context context object
+ * @param callback callback for started download
+ * @param user_data user data
+ */
+EXPORT_API void ewk_context_did_start_download_callback_set(Ewk_Context* context, Ewk_Context_Did_Start_Download_Callback callback, void* user_data);
+
+/**
+ * Sets callback for overriding mime type
+ *
+ * @param context context object
+ * @param callback callback to be invoked whenver the mime type can be overridden
+ * @param user_data user data
+ */
+EXPORT_API void ewk_context_mime_override_callback_set(Ewk_Context* context, Ewk_Context_Override_Mime_For_Url_Callback callback, void* user_data);
+
+/**
+ * @typedef Ewk_Vibration_Client_Vibrate_Cb Ewk_Vibration_Client_Vibrate_Cb
+ * @brief Type definition for a function that will be called back when vibrate
+ * request receiveed from the vibration controller.
+ */
+typedef void (*Ewk_Vibration_Client_Vibrate_Cb)(uint64_t vibration_time, void *user_data);
+
+/**
+ * @typedef Ewk_Vibration_Client_Vibration_Cancel_Cb Ewk_Vibration_Client_Vibration_Cancel_Cb
+ * @brief Type definition for a function that will be called back when cancel
+ * vibration request receiveed from the vibration controller.
+ */
+typedef void (*Ewk_Vibration_Client_Vibration_Cancel_Cb)(void *user_data);
+
+/**
+ * Increases the reference count of the given object.
+ *
+ * @param context context object to increase the reference count
+ *
+ * @return Ewk_Context object on success or @c NULL on failure
+ */
+EXPORT_API Ewk_Context *ewk_context_ref(Ewk_Context *context);
+
+/**
+ * Decreases the reference count of the given object, possibly freeing it.
+ *
+ * When the reference count it's reached 0, the Ewk_Context is freed.
+ *
+ * @param context context object to decrease the reference count
+ */
+EXPORT_API void ewk_context_unref(Ewk_Context *context);
+/**
+ * Gets default Ewk_Context instance.
+ *
+ * The returned Ewk_Context object @b should not be unref'ed if application
+ * does not call ewk_context_ref() for that.
+ *
+ * @return Ewk_Context object.
+ */
+EXPORT_API Ewk_Context *ewk_context_default_get(void);
+
+/**
+ * Creates a new Ewk_Context.
+ *
+ * The returned Ewk_Context object @b should be unref'ed after use.
+ *
+ * @return Ewk_Context object on success or @c NULL on failure
+ *
+ * @see ewk_context_unref
+ * @see ewk_context_new_with_injected_bundle_path
+ */
+EXPORT_API Ewk_Context *ewk_context_new(void);
+
+/**
+ * Creates a new Ewk_Context.
+ *
+ * The returned Ewk_Context object @b should be unref'ed after use.
+ *
+ * Ewk view based on chromium engine does not support this API
+ * Avoid using this API
+ *
+ * @param path path of injected bundle library
+ *
+ * @return Ewk_Context object on success or @c NULL on failure
+ *
+ * @see ewk_context_unref
+ * @see ewk_context_new
+ */
+EXPORT_API Ewk_Context *ewk_context_new_with_injected_bundle_path(const char *path);
+
+/**
+ * Sets additional plugin directory.
+ *
+ * @param context context object
+ * @param path the directory to be set
+ *
+ * @return @c EINA_TRUE if the directory was set, @c EINA_FALSE otherwise
+ */
+EXPORT_API Eina_Bool ewk_context_additional_plugin_path_set(Ewk_Context *context, const char *path);
+
+/**
+ * Sets vibration client callbacks to handle the tactile feedback in the form of
+ * vibration in the client application when the content asks for vibration.
+ *
+ * To stop listening for vibration events, you may call this function with @c
+ * NULL for the callbacks.
+ *
+ * @param context context object to set vibration client callbacks.
+ * @param vibrate The function to call when the vibrate request received from the
+ *        controller (may be @c NULL).
+ * @param cancel The function to call when the cancel vibration request received
+ *        from the controller (may be @c NULL).
+ * @param data User data (may be @c NULL).
+ */
+EXPORT_API void ewk_context_vibration_client_callbacks_set(Ewk_Context *context, Ewk_Vibration_Client_Vibrate_Cb vibrate, Ewk_Vibration_Client_Vibration_Cancel_Cb cancel, void *data);
+
+struct Ewk_Password_Data {
+    char* url;
+    Eina_Bool useFingerprint;
+};
+
+/**
+ * Sets callback for profiles change notification.
+ *
+ * @param callback pointer to callback function
+ * @param user_data user data returned on callback
+ *
+ */
+EXPORT_API void ewk_context_form_autofill_profile_changed_callback_set(
+    Ewk_Context_Form_Autofill_Profile_Changed_Callback callback,
+    void* user_data);
+
+/**
+ * Gets the existing profile for given index
+ *
+ * The obtained profile must be deleted by ewk_autofill_profile_delete.
+ *
+ * @param context context object
+ * @param profile id
+ *
+ * @return @c Ewk_Autofill_Profile if profile exists, @c NULL otherwise
+ * @see ewk_autofill_profile_delete
+ */
+EXPORT_API Ewk_Autofill_Profile* ewk_context_form_autofill_profile_get(Ewk_Context* context, unsigned id);
+
+/**
+ * Get tizen extensible api enable state
+ *
+ * @param context context object
+ * @param extensible_api extensible API name of every kind
+ *
+ * @return @c EINA_TRUE if the extensibleAPI set as true or @c EINA_FALSE otherwise
+ */
+EXPORT_API Eina_Bool ewk_context_tizen_extensible_api_string_get(Ewk_Context* context,  const char* extensible_api);
+
+/**
+ * Toggles tizen extensible api enable and disable
+ *
+ * @param context context object
+ * @param extensible_api extensible API name of every kind
+ * @param enable enable or disable tizen extensible api
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
+ */
+EXPORT_API Eina_Bool ewk_context_tizen_extensible_api_string_set(Ewk_Context *context,  const char *extensible_api, Eina_Bool enable);
+
+/**
+ * Toggles tizen extensible api enable and disable
+ *
+ * @param context context object
+ * @param extensibleAPI extensible API of every kind
+ * @param enable enable or disable tizen extensible api
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
+ */
+EINA_DEPRECATED EXPORT_API Eina_Bool ewk_context_tizen_extensible_api_set(Ewk_Context *context, Ewk_Extensible_API extensible_api, Eina_Bool enable);
+
+/**
+ * Get tizen extensible api enable state
+ *
+ * @param context context object
+ * @param extensibleAPI extensible API of every kind
+ *  *
+ * @return @c EINA_TRUE if the extensibleAPI set as true or @c EINA_FALSE otherwise
+ */
+EINA_DEPRECATED EXPORT_API Eina_Bool ewk_context_tizen_extensible_api_get(Ewk_Context *ewkContext, Ewk_Extensible_API extensibleAPI);
+
+/**
+ * Reset storage path such as web storage, web database, application cache and so on
+ *
+ * @param context context object
+ *
+ */
+EXPORT_API void ewk_context_storage_path_reset(Ewk_Context* ewkContext);
+
+/**
+ * Sets the given id for the pixmap
+ *
+ * @param context context object
+ * @param pixmap id
+ *
+ * @return @c EINA_TRUE if the pixmap set successfully, @c EINA_FALSE otherwise
+ */
+EXPORT_API Eina_Bool ewk_context_pixmap_set(Ewk_Context* context, int pixmap);
+
+/**
+ * Start the inspector server
+ *
+ * @param context context object
+ * @param port number
+ *
+ * @return @c return the port number
+ */
+EXPORT_API unsigned int ewk_context_inspector_server_start(Ewk_Context* context, unsigned int port);
+
+/**
+ * Stop the inspector server
+ *
+ * @param context context object
+  *
+ * @return @c EINA_TRUE if the inspector server stop set successfully, @c EINA_FALSE otherwise
+ */
+EXPORT_API Eina_Bool ewk_context_inspector_server_stop(Ewk_Context* context);
+
+
+///------- belows are extension of chromium-ewk ---------------------------
+
+/**
+ * Gets the id for the pixmap
+ *
+ * @param context context object
+ *
+ * @return @c id for the pixmap. On error default return is 0.
+ */
+EXPORT_API int ewk_context_pixmap_get(Ewk_Context *context);
+
+EINA_DEPRECATED EXPORT_API void ewk_send_widget_info(Ewk_Context *context, const char *tizen_id, double scale, const char *theme, const char *encodedBundle);
+
+/**
+ * Sets tizen application id for @a context.
+ *
+ * Must be called before loading content in order to call
+ * DynamicPluginStartSession of injected bundle.
+ *
+ * @param context context object
+ * @param tizen_app_id tizen application id
+ */
+EXPORT_API void ewk_context_tizen_app_id_set(Ewk_Context *context, const char *tizen_app_id);
+
+/**
+ * Gets the application cache manager instance for this @a context.
+ *
+ * @param context context object to query.
+ *
+ * @return Ewk_Cookie_Manager object instance or @c NULL in case of failure.
+ */
+EXPORT_API Ewk_Application_Cache_Manager *ewk_context_application_cache_manager_get(const Ewk_Context *context);
+
+/**
+ * Gets the favicon database instance for this @a context.
+ *
+ * @param context context object to query.
+ *
+ * @return Ewk_Favicon_Database object instance or @c NULL in case of failure.
+ */
+EXPORT_API Ewk_Favicon_Database *ewk_context_favicon_database_get(const Ewk_Context *context);
+
+/**
+ * Sets the favicon database directory for this @a context.
+ *
+ * Sets the directory path to be used to store the favicons database
+ * for @a context on disk. Passing @c NULL as @a directory_path will
+ * result in using the default directory for the platform.
+ *
+ * Calling this method also means enabling the favicons database for
+ * its use from the applications, it is therefore expected to be
+ * called only once. Further calls for the same instance of
+ * @a context will not have any effect.
+ *
+ * @param context context object to update
+ * @param directory_path database directory path to set
+ *
+ * @return @c EINA_TRUE if successful, @c EINA_FALSE otherwise
+ */
+EXPORT_API Eina_Bool ewk_context_favicon_database_directory_set(Ewk_Context *context, const char *directory_path);
+
+/**
+ * Gets the storage manager instance for this @a context.
+ *
+ * @param context context object to query.
+ *
+ * @return Ewk_Storage_Manager object instance or @c NULL in case of failure.
+ */
+EXPORT_API Ewk_Storage_Manager *ewk_context_storage_manager_get(const Ewk_Context *context);
+
+/**
+ * Requests for deleting all web databases.
+ *
+ * @param context context object
+ *
+ * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_context_web_database_delete_all(Ewk_Context* context);
+
+EXPORT_API Eina_Bool ewk_context_notification_callbacks_set(Ewk_Context* context,
+    Ewk_Context_Notification_Show_Callback show_callback,
+    Ewk_Context_Notification_Cancel_Callback cancel_callback, void* user_data);
+
+EXPORT_API Eina_Bool ewk_context_notification_callbacks_reset(Ewk_Context* context);
+
+/**
+ * Set time offset
+ *
+ * @param context context object
+ * @param timeOffset The value will be added to system time as offset, it will
+ * be used for adjusting JS Date, certificate, cookie, animation etc.
+ *
+ */
+EXPORT_API void ewk_context_time_offset_set(Ewk_Context* context,
+                                            double time_offset);
+
+/**
+ * Set timezone offset
+ *
+ * @param context context object
+ * @param timezoneOffset The value will be used to set tz ENV.
+ * @param daylightSavingTime The value is for daylight saving time use, and will
+ * be used to set tz ENV.
+ *
+ */
+EXPORT_API void ewk_context_timezone_offset_set(Ewk_Context* context,
+                                                double time_zone_offset,
+                                                double daylight_saving_time);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // ewk_context_internal_h
index 52f2b4b..7558e0e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2013 Samsung Electronics. All rights reserved.
+ * Copyright (C) 2016 Samsung Electronics. All rights reserved.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -34,227 +34,247 @@ extern "C" {
 #endif
 
 /**
- * \enum    Ewk_Context_Menu_Item_Tag
- * @brief   Provides the tags of items for the context menu.
- * @info    Keep this in sync with WKContextMenuItemTypes.h
+ * @addtogroup WEBVIEW
+ * @{
  */
-enum {
-    EWK_CONTEXT_MENU_ITEM_TAG_NO_ACTION = 0,
-    EWK_CONTEXT_MENU_ITEM_TAG_OPEN_LINK_IN_NEW_WINDOW,
-    EWK_CONTEXT_MENU_ITEM_TAG_DOWNLOAD_LINK_TO_DISK,
-    EWK_CONTEXT_MENU_ITEM_TAG_COPY_LINK_TO_CLIPBOARD,
-    EWK_CONTEXT_MENU_ITEM_TAG_OPEN_IMAGE_IN_NEW_WINDOW,
-    EWK_CONTEXT_MENU_ITEM_TAG_OPEN_IMAGE_IN_CURRENT_WINDOW,
-    EWK_CONTEXT_MENU_ITEM_TAG_DOWNLOAD_IMAGE_TO_DISK,
-    EWK_CONTEXT_MENU_ITEM_TAG_COPY_IMAGE_TO_CLIPBOARD,
-    EWK_CONTEXT_MENU_ITEM_TAG_OPEN_FRAME_IN_NEW_WINDOW,
-    EWK_CONTEXT_MENU_ITEM_TAG_COPY,
-    EWK_CONTEXT_MENU_ITEM_TAG_GO_BACK,
-    EWK_CONTEXT_MENU_ITEM_TAG_GO_FORWARD,
-    EWK_CONTEXT_MENU_ITEM_TAG_STOP,
+
+/**
+ * \enum    _Ewk_Context_Menu_Item_Tag
+ * @brief   Enumeration that provides the tags of items for the context menu.
+ *
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 3.0 @endif
+ */
+enum _Ewk_Context_Menu_Item_Tag{
+    EWK_CONTEXT_MENU_ITEM_TAG_NO_ACTION = 0,  /**< No action */
+    EWK_CONTEXT_MENU_ITEM_TAG_OPEN_LINK_IN_NEW_WINDOW,  /**< Open link in new window */
+    EWK_CONTEXT_MENU_ITEM_TAG_DOWNLOAD_LINK_TO_DISK,  /**< Download link to disk */
+    EWK_CONTEXT_MENU_ITEM_TAG_COPY_LINK_TO_CLIPBOARD,  /**< Copy link to clipboard */
+    EWK_CONTEXT_MENU_ITEM_TAG_OPEN_IMAGE_IN_NEW_WINDOW,  /**< Open image in new window */
+    EWK_CONTEXT_MENU_ITEM_TAG_OPEN_IMAGE_IN_CURRENT_WINDOW,  /**< Open image in current window */
+    EWK_CONTEXT_MENU_ITEM_TAG_DOWNLOAD_IMAGE_TO_DISK,  /**< Download image to disk */
+    EWK_CONTEXT_MENU_ITEM_TAG_COPY_IMAGE_TO_CLIPBOARD,  /**< Copy image to clipboard */
+    EWK_CONTEXT_MENU_ITEM_TAG_OPEN_FRAME_IN_NEW_WINDOW,  /**< Open frame in new window */
+    EWK_CONTEXT_MENU_ITEM_TAG_COPY,  /**< Copy */
+    EWK_CONTEXT_MENU_ITEM_TAG_GO_BACK,  /**< Go back */
+    EWK_CONTEXT_MENU_ITEM_TAG_GO_FORWARD,  /**< Go forward */
+    EWK_CONTEXT_MENU_ITEM_TAG_STOP,  /**< Stop */
     EWK_CONTEXT_MENU_ITEM_TAG_SHARE_LINK,
-    EWK_CONTEXT_MENU_ITEM_TAG_RELOAD,
-    EWK_CONTEXT_MENU_ITEM_TAG_CUT,
-    EWK_CONTEXT_MENU_ITEM_TAG_PASTE,
-    EWK_CONTEXT_MENU_ITEM_TAG_SPELLING_GUESS,
-    EWK_CONTEXT_MENU_ITEM_TAG_NO_GUESSES_FOUND,
-    EWK_CONTEXT_MENU_ITEM_TAG_IGNORE_SPELLING,
-    EWK_CONTEXT_MENU_ITEM_TAG_LEARN_SPELLING,
-    EWK_CONTEXT_MENU_ITEM_TAG_OTHER,
-    EWK_CONTEXT_MENU_ITEM_TAG_SEARCH_IN_SPOTLIGHT,
-    EWK_CONTEXT_MENU_ITEM_TAG_SEARCH_WEB,
-    EWK_CONTEXT_MENU_ITEM_TAG_LOOK_UP_IN_DICTIONARY,
-    EWK_CONTEXT_MENU_ITEM_TAG_OPEN_WITH_DEFAULT_APPLICATION,
-    EWK_CONTEXT_MENU_ITEM_TAG_PDF_ACTUAL_SIZE,
-    EWK_CONTEXT_MENU_ITEM_TAG_PDF_ZOOM_IN,
-    EWK_CONTEXT_MENU_ITEM_TAG_PDF_ZOOM_OUT,
-    EWK_CONTEXT_MENU_ITEM_TAG_PDF_AUTO_SIZE,
-    EWK_CONTEXT_MENU_ITEM_TAG_PDF_SINGLE_PAGE,
-    EWK_CONTEXT_MENU_ITEM_TAG_PDF_FACTING_PAGES,
-    EWK_CONTEXT_MENU_ITEM_TAG_PDF_CONTINUOUS,
-    EWK_CONTEXT_MENU_ITEM_TAG_PDF_NEXT_PAGE,
-    EWK_CONTEXT_MENU_ITEM_TAG_PDF_PREVIOUS_PAGE,
-    EWK_CONTEXT_MENU_ITEM_TAG_OPEN_LINK,
-    EWK_CONTEXT_MENU_ITEM_TAG_IGNORE_GRAMMAR,
-    EWK_CONTEXT_MENU_ITEM_TAG_SPELLING_MENU,
-    EWK_CONTEXT_MENU_ITEM_TAG_SHOW_SPELLING_PANEL,
-    EWK_CONTEXT_MENU_ITEM_TAG_CHECK_SPELLING,
-    EWK_CONTEXT_MENU_ITEM_TAG_CHECK_SPELLING_WHILE_TYPING,
-    EWK_CONTEXT_MENU_ITEM_TAG_CHECK_GRAMMAR_WITH_SPELLING,
-    EWK_CONTEXT_MENU_ITEM_TAG_FONT_MENU,
-    EWK_CONTEXT_MENU_ITEM_TAG_SHOW_FONTS,
-    EWK_CONTEXT_MENU_ITEM_TAG_BOLD,
-    EWK_CONTEXT_MENU_ITEM_TAG_ITALIC,
-    EWK_CONTEXT_MENU_ITEM_TAG_UNDERLINE,
-    EWK_CONTEXT_MENU_ITEM_TAG_OUTLINE,
-    EWK_CONTEXT_MENU_ITEM_TAG_STYLES,
-    EWK_CONTEXT_MENU_ITEM_TAG_SHOW_COLORS,
-    EWK_CONTEXT_MENU_ITEM_TAG_SPEECH_MENU,
-    EWK_CONTEXT_MENU_ITEM_TAG_START_SPEAKING,
-    EWK_CONTEXT_MENU_ITEM_TAG_STOP_SPEAKING,
-    EWK_CONTEXT_MENU_ITEM_TAG_WRITING_DIRECTION_MENU,
-    EWK_CONTEXT_MENU_ITEM_TAG_DEFAULT_DIRECTION,
-    EWK_CONTEXT_MENU_ITEM_TAG_LEFT_TO_RIGHT,
-    EWK_CONTEXT_MENU_ITEM_TAG_RIGHT_TO_LEFT,
-    EWK_CONTEXT_MENU_ITEM_TAG_PDF_SINGLE_PAGE_SCROLLING,
-    EWK_CONTEXT_MENU_ITEM_TAG_PDF_FACING_PAGES_SCROLLING,
-    EWK_CONTEXT_MENU_ITEM_TAG_INSPECT_ELEMENT,
-    EWK_CONTEXT_MENU_ITEM_TAG_TEXT_DIRECTION_MENU,
-    EWK_CONTEXT_MENU_ITEM_TAG_TEXT_DIRECTION_DEFAULT,
-    EWK_CONTEXT_MENU_ITEM_TAG_TEXT_DIRECTION_LEFT_TO_RIGHT,
-    EWK_CONTEXT_MENU_ITEM_TAG_TEXT_DIRECTION_RIGHT_TO_LEFT,
-    EWK_CONTEXT_MENU_ITEM_TAG_CORRECT_SPELLING_AUTOMATICALLY,
-    EWK_CONTEXT_MENU_ITEM_TAG_SUBSTITUTIONS_MENU,
-    EWK_CONTEXT_MENU_ITEM_TAG_SHOW_SUBSTITUTIONS,
-    EWK_CONTEXT_MENU_ITEM_TAG_SMART_COPY_PASTE,
-    EWK_CONTEXT_MENU_ITEM_TAG_SMART_QUOTES,
-    EWK_CONTEXT_MENU_ITEM_TAG_SMART_DASHES,
-    EWK_CONTEXT_MENU_ITEM_TAG_SMART_LINKS,
-    EWK_CONTEXT_MENU_ITEM_TAG_TEXT_REPLACEMENT,
-    EWK_CONTEXT_MENU_ITEM_TAG_TRANSFORMATIONS_MENU,
-    EWK_CONTEXT_MENU_ITEM_TAG_MAKE_UPPER_CASE,
-    EWK_CONTEXT_MENU_ITEM_TAG_MAKE_LOWER_CASE,
-    EWK_CONTEXT_MENU_ITEM_TAG_CAPITALIZE,
-    EWK_CONTEXT_MENU_ITEM_TAG_CHANGE_BACK,
-    EWK_CONTEXT_MENU_ITEM_TAG_OPEN_MEDIA_IN_NEW_WINDOW,
-    EWK_CONTEXT_MENU_ITEM_TAG_COPY_MEDIA_LINK_TO_CLIPBOARD,
-    EWK_CONTEXT_MENU_ITEM_TAG_TOGGLE_MEDIA_CONTROLS,
-    EWK_CONTEXT_MENU_ITEM_TAG_TOGGLE_MEDIA_LOOP,
-    EWK_CONTEXT_MENU_ITEM_TAG_ENTER_VIDEO_FULLSCREEN,
-    EWK_CONTEXT_MENU_ITEM_TAG_MEDIA_PLAY_PAUSE,
-    EWK_CONTEXT_MENU_ITEM_TAG_MEDIA_MUTE,
-    EWK_CONTEXT_MENU_ITEM_TAG_DICTATION_ALTERNATIVE,
-    EWK_CONTEXT_MENU_ITEM_TAG_SELECT_ALL,
-    EWK_CONTEXT_MENU_ITEM_TAG_SELECT_WORD,
-    EWK_CONTEXT_MENU_ITEM_TAG_TEXT_SELECTION_MODE,
-    EWK_CONTEXT_MENU_ITEM_TAG_CLIPBOARD,
-    EWK_CONTEXT_MENU_ITEM_TAG_DRAG,
-    EWK_CONTEXT_MENU_ITEM_TAG_TRANSLATE,
-    EWK_CONTEXT_MENU_ITEM_TAG_COPY_LINK_DATA,
-    EWK_CONTEXT_MENU_ITEM_BASE_APPLICATION_TAG = 10000
+    EWK_CONTEXT_MENU_ITEM_TAG_SHARE,  /**< Share */
+    EWK_CONTEXT_MENU_ITEM_TAG_RELOAD,  /**< Reload */
+    EWK_CONTEXT_MENU_ITEM_TAG_CUT,  /**< Cut  */
+    EWK_CONTEXT_MENU_ITEM_TAG_PASTE,  /**< Paste */
+    EWK_CONTEXT_MENU_ITEM_TAG_SPELLING_GUESS,  /**< Spelling guess */
+    EWK_CONTEXT_MENU_ITEM_TAG_NO_GUESSES_FOUND,  /**< Guess found */
+    EWK_CONTEXT_MENU_ITEM_TAG_IGNORE_SPELLING,  /**< Ignore spelling */
+    EWK_CONTEXT_MENU_ITEM_TAG_LEARN_SPELLING,  /**< Learn spelling */
+    EWK_CONTEXT_MENU_ITEM_TAG_OTHER,  /**< Other */
+    EWK_CONTEXT_MENU_ITEM_TAG_SEARCH_IN_SPOTLIGHT,  /**< Search in spotlight */
+    EWK_CONTEXT_MENU_ITEM_TAG_SEARCH_WEB,  /**< Search web */
+    EWK_CONTEXT_MENU_ITEM_TAG_LOOK_UP_IN_DICTIONARY,  /**< Look up in dictionary */
+    EWK_CONTEXT_MENU_ITEM_TAG_OPEN_WITH_DEFAULT_APPLICATION,  /**< Open with default application */
+    EWK_CONTEXT_MENU_ITEM_TAG_PDF_ACTUAL_SIZE,  /**< PDF actual size */
+    EWK_CONTEXT_MENU_ITEM_TAG_PDF_ZOOM_IN,  /**< PDF zoom in */
+    EWK_CONTEXT_MENU_ITEM_TAG_PDF_ZOOM_OUT,  /**< PDF zoom out */
+    EWK_CONTEXT_MENU_ITEM_TAG_PDF_AUTO_SIZE,  /**< PDF auto size */
+    EWK_CONTEXT_MENU_ITEM_TAG_PDF_SINGLE_PAGE,  /**< PDF single page */
+    EWK_CONTEXT_MENU_ITEM_TAG_PDF_FACTING_PAGES,  /**< PDF facting page */
+    EWK_CONTEXT_MENU_ITEM_TAG_PDF_CONTINUOUS,  /**< PDF continuous */
+    EWK_CONTEXT_MENU_ITEM_TAG_PDF_NEXT_PAGE,  /**< PDF next page */
+    EWK_CONTEXT_MENU_ITEM_TAG_PDF_PREVIOUS_PAGE,  /**< PDF previous page */
+    EWK_CONTEXT_MENU_ITEM_TAG_OPEN_LINK,  /**< Open link */
+    EWK_CONTEXT_MENU_ITEM_TAG_IGNORE_GRAMMAR,  /**< Ignore grammar */
+    EWK_CONTEXT_MENU_ITEM_TAG_SPELLING_MENU,  /**< Spelling menu */
+    EWK_CONTEXT_MENU_ITEM_TAG_SHOW_SPELLING_PANEL,  /**< Show spelling panel */
+    EWK_CONTEXT_MENU_ITEM_TAG_CHECK_SPELLING,  /**< Check spelling */
+    EWK_CONTEXT_MENU_ITEM_TAG_CHECK_SPELLING_WHILE_TYPING,  /**< Check spelling white typing */
+    EWK_CONTEXT_MENU_ITEM_TAG_CHECK_GRAMMAR_WITH_SPELLING,  /**< Check grammar with spelling */
+    EWK_CONTEXT_MENU_ITEM_TAG_FONT_MENU,  /**< Font menu */
+    EWK_CONTEXT_MENU_ITEM_TAG_SHOW_FONTS,  /**< Show fonts */
+    EWK_CONTEXT_MENU_ITEM_TAG_BOLD,  /**< Bold */
+    EWK_CONTEXT_MENU_ITEM_TAG_ITALIC,  /**< Italic */
+    EWK_CONTEXT_MENU_ITEM_TAG_UNDERLINE,  /**< Underline */
+    EWK_CONTEXT_MENU_ITEM_TAG_OUTLINE,  /**< Outline */
+    EWK_CONTEXT_MENU_ITEM_TAG_STYLES,  /**< Style */
+    EWK_CONTEXT_MENU_ITEM_TAG_SHOW_COLORS,  /**< Show colors */
+    EWK_CONTEXT_MENU_ITEM_TAG_SPEECH_MENU,  /**< Speech menu */
+    EWK_CONTEXT_MENU_ITEM_TAG_START_SPEAKING,  /**< Start speaking */
+    EWK_CONTEXT_MENU_ITEM_TAG_STOP_SPEAKING,  /**< Stop speaking */
+    EWK_CONTEXT_MENU_ITEM_TAG_WRITING_DIRECTION_MENU,  /**< Writing direction menu */
+    EWK_CONTEXT_MENU_ITEM_TAG_DEFAULT_DIRECTION,  /**< Default direction */
+    EWK_CONTEXT_MENU_ITEM_TAG_LEFT_TO_RIGHT,  /**< Left to right */
+    EWK_CONTEXT_MENU_ITEM_TAG_RIGHT_TO_LEFT,  /**< Right to left */
+    EWK_CONTEXT_MENU_ITEM_TAG_PDF_SINGLE_PAGE_SCROLLING,  /**< PDF single page scrolling */
+    EWK_CONTEXT_MENU_ITEM_TAG_PDF_FACING_PAGES_SCROLLING,  /**< PDF facing page scrolling */
+    EWK_CONTEXT_MENU_ITEM_TAG_INSPECT_ELEMENT,  /**< Inspect element */
+    EWK_CONTEXT_MENU_ITEM_TAG_TEXT_DIRECTION_MENU,  /**< Text direction menu */
+    EWK_CONTEXT_MENU_ITEM_TAG_TEXT_DIRECTION_DEFAULT,  /**< Text direction default */
+    EWK_CONTEXT_MENU_ITEM_TAG_TEXT_DIRECTION_LEFT_TO_RIGHT,  /**< Text direction left to right */
+    EWK_CONTEXT_MENU_ITEM_TAG_TEXT_DIRECTION_RIGHT_TO_LEFT,  /**< Text direction right to left */
+    EWK_CONTEXT_MENU_ITEM_TAG_CORRECT_SPELLING_AUTOMATICALLY,  /**< Correct spelling automatically */
+    EWK_CONTEXT_MENU_ITEM_TAG_SUBSTITUTIONS_MENU,  /**< Substitutions menu */
+    EWK_CONTEXT_MENU_ITEM_TAG_SHOW_SUBSTITUTIONS,  /**< Show substitutions */
+    EWK_CONTEXT_MENU_ITEM_TAG_SMART_COPY_PASTE,  /**< Smart copy paste */
+    EWK_CONTEXT_MENU_ITEM_TAG_SMART_QUOTES,  /**< Smart quotes */
+    EWK_CONTEXT_MENU_ITEM_TAG_SMART_DASHES,  /**< Smart dashes */
+    EWK_CONTEXT_MENU_ITEM_TAG_SMART_LINKS,  /**< Smart links */
+    EWK_CONTEXT_MENU_ITEM_TAG_TEXT_REPLACEMENT,  /**< Text replacement */
+    EWK_CONTEXT_MENU_ITEM_TAG_TRANSFORMATIONS_MENU,  /**< Transformation menu */
+    EWK_CONTEXT_MENU_ITEM_TAG_MAKE_UPPER_CASE,  /**< Make upper case */
+    EWK_CONTEXT_MENU_ITEM_TAG_MAKE_LOWER_CASE,  /**< Make lower case */
+    EWK_CONTEXT_MENU_ITEM_TAG_CAPITALIZE,  /**< Capitalize */
+    EWK_CONTEXT_MENU_ITEM_TAG_CHANGE_BACK,  /**< Change back */
+    EWK_CONTEXT_MENU_ITEM_TAG_OPEN_MEDIA_IN_NEW_WINDOW,  /**< Open media in new window */
+    EWK_CONTEXT_MENU_ITEM_TAG_COPY_MEDIA_LINK_TO_CLIPBOARD,  /**< Copy media link to clipboard */
+    EWK_CONTEXT_MENU_ITEM_TAG_TOGGLE_MEDIA_CONTROLS,  /**< Toggle media controls */
+    EWK_CONTEXT_MENU_ITEM_TAG_TOGGLE_MEDIA_LOOP,  /**< Toggle media loop */
+    EWK_CONTEXT_MENU_ITEM_TAG_ENTER_VIDEO_FULLSCREEN,  /**< Enter video fullscreen */
+    EWK_CONTEXT_MENU_ITEM_TAG_MEDIA_PLAY_PAUSE,  /**< Media play pause */
+    EWK_CONTEXT_MENU_ITEM_TAG_MEDIA_MUTE,  /**< Media mute */
+    EWK_CONTEXT_MENU_ITEM_TAG_DICTATION_ALTERNATIVE,  /**< Dictation alternative */
+    EWK_CONTEXT_MENU_ITEM_TAG_SELECT_ALL,  /**< Select all */
+    EWK_CONTEXT_MENU_ITEM_TAG_SELECT_WORD,  /**< Select word */
+    EWK_CONTEXT_MENU_ITEM_TAG_TEXT_SELECTION_MODE,  /**< Text selection mode */
+    EWK_CONTEXT_MENU_ITEM_TAG_CLIPBOARD,  /**< Clipboard */
+    EWK_CONTEXT_MENU_ITEM_TAG_DRAG,  /**< Drag */
+    EWK_CONTEXT_MENU_ITEM_TAG_TRANSLATE,  /**< Translate */
+    EWK_CONTEXT_MENU_ITEM_TAG_COPY_LINK_DATA,  /**< Copy lnk data */
+    EWK_CONTEXT_MENU_ITEM_BASE_APPLICATION_TAG = 10000  /**< If app want to add customized item, use enum value after #EWK_CONTEXT_MENU_ITEM_BASE_APPLICATION_TAG */
 };
-/** Creates a type name for Ewk_Context_Menu_Item_Tag */
-typedef uint32_t Ewk_Context_Menu_Item_Tag;
 
 /**
- * \enum    _Ewk_Context_Menu_Item_Type
- * @brief   Defines the types of the items for the context menu.
- * @info    Keep this in sync with WKContextMenuItemTypes.h
+ * @brief The structure type that creates a type name for Ewk_Context_Menu_Item_Tag.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 3.0 @endif
  */
-enum _Ewk_Context_Menu_Item_Type {
-    EWK_CONTEXT_MENU_ITEM_TYPE_ACTION,
-    EWK_CONTEXT_MENU_ITEM_TYPE_CHECKABLE_ACTION,
-    EWK_CONTEXT_MENU_ITEM_TYPE_SEPARATOR,
-    EWK_CONTEXT_MENU_ITEM_TYPE_SUBMENU
-};
-/** Creates a type name for _Ewk_Context_Menu_Item_Type */
-typedef enum _Ewk_Context_Menu_Item_Type Ewk_Context_Menu_Item_Type;
+typedef uint32_t Ewk_Context_Menu_Item_Tag;
 
-/** Creates a type name for _Ewk_Context_Menu */
+/**
+ * @brief The structure type that creates a type name for _Ewk_Context_Menu.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 3.0 @endif
+ */
 typedef struct _Ewk_Context_Menu Ewk_Context_Menu;
 
-/** Creates a type name for _Ewk_Context_Menu_Item */
+/**
+ * @brief The structure type that creates a type name for _Ewk_Context_Menu_Item.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 3.0 @endif
+ */
 typedef struct _Ewk_Context_Menu_Item Ewk_Context_Menu_Item;
 
 /**
- * Counts the number of the context menu item.
+ * @brief Counts the number of the context menu item.
+ *
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 3.0 @endif
  *
- * @param menu the context menu object
+ * @param[in] menu The context menu object
  *
- * @return number of current context menu item
+ * @return The number of current context menu item
  */
 EXPORT_API unsigned ewk_context_menu_item_count(Ewk_Context_Menu* menu);
 
 /**
- * Returns the nth item in a context menu.
+ * @brief Returns the nth item in a context menu.
  *
- * @param menu The context menu object
- * @param n The number of the item
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 3.0 @endif
+ *
+ * @param[in] menu The context menu object
+ * @param[in] n The number of the item
  *
  * @return The nth item of context menu
  */
 EXPORT_API Ewk_Context_Menu_Item* ewk_context_menu_nth_item_get(Ewk_Context_Menu* menu, unsigned int n);
 
 /**
- * Removes the context menu item from the context menu object.
+ * @brief Removes the context menu item from the context menu object.
+ *
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 3.0 @endif
  *
- * @param menu the context menu object
- * @param item the context menu item to remove
+ * @param[in] menu The context menu object
+ * @param[in] item The context menu item to remove
  *
- * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
+ * @return @c EINA_TRUE on successful request,\n
+ *         otherwise @c EINA_FALSE on failure
  */
 EXPORT_API Eina_Bool ewk_context_menu_item_remove(Ewk_Context_Menu* menu, Ewk_Context_Menu_Item* item);
 
 /**
- * Adds the context menu item to the context menu object.
+ * @if MOBILE
+ * @brief Adds the context menu item to the context menu object.
+ *
+ * @since_tizen 2.3
  *
- * @param menu the context menu object
- * @param tag the tag of context menu item
- * @param title the title of context menu item
- * @param enabled the enabled of context menu item
+ * @param[in] menu The context menu object
+ * @param[in] tag The tag of context menu item
+ * @param[in] title The title of context menu item
+ * @param[in] enabled If @c true the context menu item is enabled,\n
+ *                    otherwise @c false
  *
- * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
+ * @return @c EINA_TRUE on successful request,\n
+ *         otherwise @c EINA_FALSE on failure
+ * @endif
  */
 EXPORT_API Eina_Bool ewk_context_menu_item_append_as_action(Ewk_Context_Menu* menu, Ewk_Context_Menu_Item_Tag tag, const char* title, Eina_Bool enabled);
 
 /**
- * Adds the context menu item to the context menu object.
+ * @if MOBILE
+ * @brief Adds the context menu item to the context menu object.
  *
- * @param menu the context menu object
- * @param tag the tag of context menu item
- * @param title the title of context menu item
- * @param icon_file the path of icon to be set on context menu item
- * @param enabled the enabled of context menu item
+ * @since_tizen 2.3
  *
- * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
+ * @param[in] menu The context menu object
+ * @param[in] tag The tag of context menu item
+ * @param[in] title The title of context menu item
+ * @param[in] icon_file The path of icon to be set on context menu item
+ * @param[in] enabled If @c true the context menu item is enabled,\n
+ *                    otherwise @c false
+ *
+ * @return @c EINA_TRUE on successful request,\n
+ *         otherwise @c EINA_FALSE on failure
+ * @endif
  */
 EXPORT_API Eina_Bool ewk_context_menu_item_append(Ewk_Context_Menu* menu, Ewk_Context_Menu_Item_Tag tag, const char* title, const char* icon_file, Eina_Bool enabled);
 
 /**
- * Returns the tag of context menu item.
+ * @brief Returns the tag of context menu item.
+ *
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 3.0 @endif
  *
- * @param item The context menu item object
+ * @param[in] item The context menu item object
  *
  * @return The tag of context menu item
  */
 EXPORT_API Ewk_Context_Menu_Item_Tag ewk_context_menu_item_tag_get(Ewk_Context_Menu_Item* item);
 
 /**
- * Returns the type of context menu item.
- *
- * @param item The context menu item object
- *
- * @return The type of context menu item
- */
-EXPORT_API Ewk_Context_Menu_Item_Type ewk_context_menu_item_type_get(Ewk_Context_Menu_Item* item);
-
-/**
- * Returns the item is enabled.
+ * @if MOBILE
+ * @brief Returns the link url string of context menu item.
  *
- * @param item The context menu item object to get enabled state
+ * @since_tizen 2.3
  *
- * @return EINA_TRUE if it is enabled, @c EINA_FALSE if not or on failure
- */
-EXPORT_API Eina_Bool ewk_context_menu_item_enabled_get(const Ewk_Context_Menu_Item* item);
-
-/**
- * Returns the link url string of context menu item.
- *
- * @param menu the context menu item object
+ * @param[in] menu The context menu item object
  *
- * @return current link url string on success or @c 0 on failure
+ * @return The current link url string on success,\n
+ *         otherwise @c 0 on failure
+ * @endif
  */
 EXPORT_API const char* ewk_context_menu_item_link_url_get(Ewk_Context_Menu_Item* item);
 
 /**
- * Returns the image url string of context menu item.
+ * @if MOBILE
+ * @brief Returns the image url string of context menu item.
  *
- * @param menu the context menu item object
+ * @since_tizen 2.3
  *
- * @return current image url string on success or @c 0 on failure
+ * @param[in] menu The context menu item object
+ *
+ * @return The current image url string on success,\n
+ *         otherwise @c 0 on failure
+ * @endif
  */
 EXPORT_API const char* ewk_context_menu_item_image_url_get(Ewk_Context_Menu_Item* item);
 
+/**
+* @}
+*/
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/tizen_src/ewk/efl_integration/public/ewk_context_menu_internal.h b/tizen_src/ewk/efl_integration/public/ewk_context_menu_internal.h
new file mode 100644 (file)
index 0000000..b5ff0d4
--- /dev/null
@@ -0,0 +1,75 @@
+/*
+ * Copyright (C) 2016 Samsung Electronics. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301, USA.
+ *
+ */
+
+/**
+ * @file    ewk_context_menu_internal.h
+ * @brief   Describes the context menu API.
+ */
+
+#ifndef ewk_context_menu_internal_h
+#define ewk_context_menu_internal_h
+
+#include "ewk_context_menu.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * \enum    _Ewk_Context_Menu_Item_Type
+ * @brief   Enumeration that defines the types of the items for the context menu.
+ */
+enum _Ewk_Context_Menu_Item_Type {
+    EWK_CONTEXT_MENU_ITEM_TYPE_ACTION,
+    EWK_CONTEXT_MENU_ITEM_TYPE_CHECKABLE_ACTION,
+    EWK_CONTEXT_MENU_ITEM_TYPE_SEPARATOR,
+    EWK_CONTEXT_MENU_ITEM_TYPE_SUBMENU
+};
+
+/**
+ * @brief Creates a type name for _Ewk_Context_Menu_Item_Type
+ */
+typedef enum _Ewk_Context_Menu_Item_Type Ewk_Context_Menu_Item_Type;
+
+/**
+ * Returns the type of context menu item.
+ *
+ * @param item The context menu item object
+ *
+ * @return The type of context menu item
+ */
+EXPORT_API Ewk_Context_Menu_Item_Type ewk_context_menu_item_type_get(Ewk_Context_Menu_Item* item);
+
+/**
+ * Returns the item is enabled.
+ *
+ * @param item The context menu item object to get enabled state
+ *
+ * @return EINA_TRUE if it is enabled, @c EINA_FALSE if not or on failure
+ */
+EXPORT_API Eina_Bool ewk_context_menu_item_enabled_get(const Ewk_Context_Menu_Item* item);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // ewk_context_menu_internal_h
+
diff --git a/tizen_src/ewk/efl_integration/public/ewk_context_menu_product.h b/tizen_src/ewk/efl_integration/public/ewk_context_menu_product.h
new file mode 100644 (file)
index 0000000..79c457d
--- /dev/null
@@ -0,0 +1,100 @@
+/*
+ * Copyright (C) 2016 Samsung Electronics. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301, USA.
+ *
+ */
+
+/**
+ * @file    ewk_context_menu_product.h
+ * @brief   Describes the context menu product API.
+ */
+
+#ifndef ewk_context_menu_product_h
+#define ewk_context_menu_product_h
+
+#include "ewk_context_menu_internal.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * Gets a title of the item.
+ *
+ * @param item the item to get the title
+ * @return a title of the item on success, or @c NULL on failure
+ *
+ * @see ewk_context_menu_item_title_set
+ */
+EXPORT_API const char* ewk_context_menu_item_title_get(const Ewk_Context_Menu_Item *item);
+
+/**
+ * Queries if the item is toggled.
+ *
+ * @param item the item to query if the item is toggled
+ * @return @c EINA_TRUE if the item is toggled or @c EINA_FALSE if not or on failure
+ */
+EXPORT_API Eina_Bool  ewk_context_menu_item_checked_get(const Ewk_Context_Menu_Item *item);
+
+/**
+ * Gets the submenu for the item.
+ *
+ * @param item item to get the submenu
+ *
+ * @return the pointer to submenu on success or @c NULL on failure
+ */
+EXPORT_API Ewk_Context_Menu *ewk_context_menu_item_submenu_get(const Ewk_Context_Menu_Item *item);
+
+/**
+ * Gets the list of items.
+ *
+ * @param o the context menu to get list of the items
+ * @return the list of the items on success or @c NULL on failure
+ */
+EXPORT_API const Eina_List *ewk_context_menu_items_get(const Ewk_Context_Menu *o);
+
+/**
+ * Gets the parent menu for the item.
+ *
+ * @param o item to get the parent
+ *
+ * @return the pointer to parent menu on success or @c NULL on failure
+ */
+EXPORT_API Ewk_Context_Menu *ewk_context_menu_item_parent_menu_get(const Ewk_Context_Menu_Item *o);
+
+/**
+ * Selects the item from the context menu.
+ *
+ * @param menu the context menu
+ * @param item the item is selected
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_context_menu_item_select(Ewk_Context_Menu *menu, Ewk_Context_Menu_Item *item);
+
+/**
+ * Hides the context menu.
+ *
+ * @param menu the context menu to hide
+ * @return @c EINA_TRUE on success, @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_context_menu_hide(Ewk_Context_Menu *menu);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // ewk_context_menu_product_h
diff --git a/tizen_src/ewk/efl_integration/public/ewk_context_product.h b/tizen_src/ewk/efl_integration/public/ewk_context_product.h
new file mode 100644 (file)
index 0000000..2b36616
--- /dev/null
@@ -0,0 +1,627 @@
+/*
+ * Copyright (C) 2016 Samsung Electronics
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this program; see the file COPYING.LIB.  If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+/**
+ * @file    ewk_context_product.h
+ * @brief   Describes the context API.
+ *
+ * @note ewk_context encapsulates all pages related to specific use of
+ *       Chromium-efl
+ *
+ * Applications have the option of creating a context different than the default
+ * one and use it for a group of pages. All pages in the same context share the
+ * same preferences, visited link set, local storage, etc.
+ *
+ * A process model can be specified per context. The default one is the shared
+ * model where the web-engine process is shared among the pages in the context.
+ * The second model allows each page to use a separate web-engine process.
+ * This latter model is currently not supported by Chromium-efl.
+ *
+ */
+
+#ifndef ewk_context_product_h
+#define ewk_context_product_h
+
+#include <stdint.h>
+
+#include "ewk_context_internal.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+enum _Ewk_Application_Type {
+  EWK_APPLICATION_TYPE_WEBBROWSER = 0,
+  EWK_APPLICATION_TYPE_HBBTV = 1,
+  EWK_APPLICATION_TYPE_TIZENWRT = 2,
+  EWK_APPLICATION_TYPE_OTHER = 3
+};
+
+typedef enum _Ewk_Application_Type Ewk_Application_Type;
+
+/**
+ * @brief Sets the given proxy to network backend of specific context.
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] context context object to set proxy
+ * @param[in] proxy URI to set
+ * @param[in] bypass rule to set
+ */
+EXPORT_API void ewk_context_proxy_set(Ewk_Context* context,
+                                      const char* proxy,
+                                      const char* bypass_rule);
+
+/**
+ * @brief Gets the proxy URI from the network backend of specific context.
+ *
+ * @details It returns an internal string and should not\n
+ *          be modified. The string is guaranteed to be stringshared.
+ *          until next call of @c ewk_context_proxy_set api
+ *          or @a context is destroyed.
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] context context object to get proxy URI
+ *
+ * @return current proxy URI or @c NULL if it's not set
+ *
+ * @see ewk_context_proxy_set
+ */
+EXPORT_API const char* ewk_context_proxy_uri_get(Ewk_Context* context);
+
+/**
+ * @brief Gets the proxy bypass rule from the network backend of specific
+ *        context.
+ *
+ * @details It returns an internal string and should not
+ *          be modified. The string is guaranteed to be stringshared,
+ *          until next call of @c ewk_context_proxy_set api
+ *          or @a context is destroyed.
+ *
+ * @since_tizen 3.0
+ *
+ * @param[in] context context object to get proxy bypass rule
+ *
+ * @return current proxy bypass rule or @c NULL if it's not set
+ *
+ * @see ewk_context_proxy_set
+ */
+EXPORT_API const char* ewk_context_proxy_bypass_rule_get(Ewk_Context* context);
+
+/*
+ * Set a new max size for URL in Tizen APP.
+ *
+ * Must be called before loading URL.
+ *
+ * @param context context object
+ * @param max_chars  max chars for url
+ */
+EXPORT_API void ewk_context_url_maxchars_set(Ewk_Context* context, size_t max_chars);
+
+/**
+ * @brief Callback for ewk_context_local_file_system_origins_get
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] origins local file system origins
+ * @param[in] user_data user_data will be passsed when
+ *            ewk_context_local_file_system_origins_get is called
+ */
+typedef void (*Ewk_Local_File_System_Origins_Get_Callback)(Eina_List* origins, void* user_data);
+
+/**
+ * @brief Callback for ewk_context_web_database_quota_for_origin_get.
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] quota web database quota
+ * @param[in] user_data user_data will be passsed when
+ *            ewk_context_web_database_quota_for_origin_get is called
+ */
+typedef void (*Ewk_Web_Database_Quota_Get_Callback)(uint64_t quota, void* user_data);
+
+/**
+ * @brief Callback for ewk_context_web_storage_origins_get.
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] origins web storage origins
+ * @param[in] user_data user_data will be passsed when
+ *            ewk_context_web_storage_origins_get is called
+ */
+typedef void (*Ewk_Web_Storage_Origins_Get_Callback)(Eina_List* origins, void* user_data);
+
+/**
+ * @brief Callback for ewk_context_web_storage_usage_for_origin_get.
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] usage usage of web storage
+ * @param[in] user_data user_data will be passsed when
+ *            ewk_context_web_storage_usage_for_origin_get is called
+ */
+typedef void (*Ewk_Web_Storage_Usage_Get_Callback)(uint64_t usage, void* user_data);
+
+/**
+ * @brief Callback for didStartDownload
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] download_url url to download
+ * @param[in] user_data user_data will be passsed when download is started
+ */
+typedef void (*Ewk_Context_Did_Start_Download_Callback)(const char* download_url, void* user_data);
+
+/**
+ * @brief Callback for passworSaveConfirmPopupCallbackCall
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] view current view
+ * @param[in] user_data user_data will be passsed when password save confirm
+ *            popup show
+ */
+typedef void (*Ewk_Context_Password_Confirm_Popup_Callback)(Evas_Object* view, void* user_data);
+
+/**
+ * @brief Requests for setting application cache quota for origin.
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] context context object
+ * @param[in] origin serucity origin
+ * @param[in] quota size of quota
+ *
+ * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_context_application_cache_quota_for_origin_set(Ewk_Context* context, const Ewk_Security_Origin* origin, int64_t quota);
+
+/**
+ * @brief Requests for deleting all local file systems.
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] context context object
+ *
+ * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_context_local_file_system_all_delete(Ewk_Context* context);
+
+/**
+ * @brief Requests for deleting local file system for origin.
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] context context object
+ * @param[in] origin local file system origin
+ *
+ * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_context_local_file_system_delete(Ewk_Context* context, Ewk_Security_Origin* origin);
+
+ /**
+ * @brief Requests for getting local file system origins.
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] context context object
+ * @param[in] callback callback to get local file system origins
+ * @param[in] user_data user_data will be passed when callback is called\n
+ *    -I.e., user data will be kept until callback is called
+ *
+ * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
+ *
+ * @see ewk_context_origins_free
+ */
+EXPORT_API Eina_Bool ewk_context_local_file_system_origins_get(const Ewk_Context* context, Ewk_Local_File_System_Origins_Get_Callback callback, void* user_data);
+
+/**
+ * @brief Requests for deleting web databases for origin.
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] context context object
+ * @param[in] origin database origin
+ *
+ * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_context_web_database_delete(Ewk_Context* context, Ewk_Security_Origin* origin);
+
+/**
+ * @brief Requests for setting web database quota for origin.
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] context context object
+ * @param[in] origin database origin
+ * @param[in] quota size of quota
+ *
+ * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_context_web_database_quota_for_origin_set(Ewk_Context* context, Ewk_Security_Origin* origin, uint64_t quota);
+
+/**
+ * @brief Deletes origin that is stored in web storage db.
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] context context object
+ * @param[in] origin origin of db
+ *
+ * @return @c EINA_TRUE on success, @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_context_web_storage_origin_delete(Ewk_Context* context, Ewk_Security_Origin* origin);
+
+/**
+ * @brief Gets list of origins that is stored in web storage db.
+ *
+ * @details This function allocates memory for context structure made from
+ *          callback and user_data.
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] context context object
+ * @param[in] callback callback to get web storage origins
+ * @param[in] user_data user_data will be passed when callback is called\n
+ *    -I.e., user data will be kept until callback is called
+ *
+ * @return @c EINA_TRUE on success, @c EINA_FALSE on failure
+ *
+ * @see ewk_context_origins_free()
+ */
+EXPORT_API Eina_Bool ewk_context_web_storage_origins_get(Ewk_Context* context, Ewk_Web_Storage_Origins_Get_Callback callback, void* user_data);
+
+/**
+ * @brief Gets usage of web storage for certain origin.
+ *
+ * @details This function allocates memory for context structure made from
+ *          callback and user_data.
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] context context object
+ * @param[in] origin security origin
+ * @param[in] callback callback to get web storage usage
+ * @param[in] user_data user_data will be passed when callback is called\n
+ *    -I.e., user data will be kept until callback is called
+ *
+ * @return @c EINA_TRUE on success, @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_context_web_storage_usage_for_origin_get(Ewk_Context* context, Ewk_Security_Origin* origin, Ewk_Web_Storage_Usage_Get_Callback callback, void* user_data);
+
+/**
+ * @brief Queries if the cache is enabled
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] context context object
+ *
+ * @return @c EINA_TRUE is cache is enabled or @c EINA_FALSE otherwise
+ */
+EXPORT_API Eina_Bool ewk_context_cache_disabled_get(const Ewk_Context* context);
+
+/**
+ * @brief start memory sampler.
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] context context object
+ * @param[in] timer_interval time gap to fire the timer
+*/
+EXPORT_API void ewk_context_memory_sampler_start(Ewk_Context* context, double timer_interval);
+
+/**
+* @brief stop memory sampler.
+*
+* @param[in] context context object
+*/
+EXPORT_API void ewk_context_memory_sampler_stop(Ewk_Context* context);
+
+/**
+ * @brief Callback for ewk_context_vibration_client_callbacks_set
+ *
+ * @since_tizen 2.3
+ *
+ * @details Type definition for a function that will be called back when vibrate
+ *          request receiveed from the vibration controller.
+ *
+ * @param[in] vibration_time the number of vibration times
+ * @param[in] user_data user_data will be passsed when
+ *            ewk_context_vibration_client_callbacks_set is called
+ */
+typedef void (*Ewk_Vibration_Client_Vibrate_Cb)(uint64_t vibration_time, void* user_data);
+
+/**
+ * @brief Callback for ewk_context_vibration_client_callbacks_set
+ *
+ * @since_tizen 2.3
+ *
+ * @details Type definition for a function that will be called back when cancel
+ *           vibration request receiveed from the vibration controller.
+ *
+ * @param[in] user_data user_data will be passsed when
+ *            ewk_context_vibration_client_callbacks_set is called
+ */
+typedef void (*Ewk_Vibration_Client_Vibration_Cancel_Cb)(void* user_data);
+
+/**
+ * @brief Sets memory saving mode.
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] context context object
+ * @param[in] mode or disable memory saving mode
+ *
+ */
+EXPORT_API void ewk_context_memory_saving_mode_set(Ewk_Context* context, Eina_Bool mode);
+
+/**
+ * @brief Deletes password data from DB for given URL
+ *
+ * @details The API will delete the a password data from DB.
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] context context object
+ * @param[in] url url saved form password
+ *
+ * @see ewk_context_form_password_data_list_free
+ * @see ewk_context_form_password_data_list_get
+ */
+EXPORT_API void ewk_context_form_password_data_delete(Ewk_Context* context, const char* url);
+
+/**
+ * @brief Get all password url list
+ *
+ * @details The API will delete the a password data list only from the memory.\n
+ *          To remove the password data for URL permenantly,
+ *          use ewk_context_form_password_data_delete
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] context context object
+ *
+ * @return @c Eina_List of Ewk_Password_Data @c NULL otherwise
+ * @see ewk_context_form_password_data_delete
+ * @see ewk_context_form_password_data_list_free
+ */
+EXPORT_API Eina_List* ewk_context_form_password_data_list_get(Ewk_Context* context);
+
+/**
+ * @brief Deletes a given password data list
+ *
+ * @details The API will delete the a password data list only from the memory.\n
+ *          To remove the password data for URL permenantly,
+ *          use ewk_context_form_password_data_delete
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] context context object
+ * @param[in] list Eina_List with Ewk_Password_Data
+ *
+ * @see ewk_context_form_password_data_delete
+ * @see ewk_context_form_password_data_list_get
+ */
+EXPORT_API void ewk_context_form_password_data_list_free(Ewk_Context* context, Eina_List* list);
+
+/**
+ * @brief Requests setting of the favicon database path.
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] context context object
+ * @param[in] path database path
+ *
+ * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_context_icon_database_path_set(Ewk_Context* context, const char* path);
+
+/**
+ * @brief Requests for getting web database quota for origin.
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] context context object
+ * @param[in] callback callback to get web database quota
+ * @param[in] user_data user_data will be passed when callback is called\n
+ *    -I.e., user data will be kept until callback is called
+ * @param[in] origin database origin
+ *
+ * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_context_web_database_quota_for_origin_get(Ewk_Context* context, Ewk_Web_Database_Quota_Get_Callback callback, void* user_data, Ewk_Security_Origin* origin);
+
+/**
+ * @brief Requests for getting web application cache origins.
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] context context object
+ * @param[in] callback callback to get web application cache origins
+ * @param[in] user_data user_data will be passsed when callback is called
+ *
+ * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
+ *
+ * @see ewk_context_origins_free
+ */
+EXPORT_API Eina_Bool ewk_context_application_cache_origins_get(Ewk_Context* context, Ewk_Web_Application_Cache_Origins_Get_Callback callback, void* user_data);
+
+/**
+ * To declare application type
+ *
+ * @param context context object
+ * @param applicationType The Ewk_Application_Type enum
+ *
+ */
+EXPORT_API void ewk_context_application_type_set(Ewk_Context* ewkContext, const Ewk_Application_Type applicationType);
+
+/**
+ * @brief Returns the application type.
+ *
+ * @param[in] context The context object
+ *
+ * @return #Ewk_Application_Type
+ */
+EXPORT_API Ewk_Application_Type ewk_context_application_type_get(Ewk_Context* ewkContext);
+
+EXPORT_API void ewk_context_form_candidate_data_clear(Ewk_Context *ewkContext);
+
+EXPORT_API void ewk_context_form_password_data_clear(Ewk_Context *ewkContext);
+
+/**
+* Requests for setting application memory cache capacities.
+*
+* @param ewk_context context object
+* @param cache_min_dead_capacity set min dead memory cache value
+* @param cache_max_dead_capacity set max dead memory cache value
+* @param cache_total_capacity set total memory cache value
+*
+*/
+EXPORT_API void ewk_context_cache_model_memory_cache_capacities_set(
+    Ewk_Context* ewk_context,
+    uint32_t cache_min_dead_capacity,
+    uint32_t cache_max_dead_capacity,
+    uint32_t cache_total_capacity);
+
+/**
+ * Requests for getting application page cache capacity.
+ *
+ * @param ewk_context context object
+ * @param cache_value the page memory cache value
+ *
+ * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_context_cache_model_page_cache_capacity_get(
+    Ewk_Context* ewk_context,
+    uint32_t* cache_value);
+
+/**
+ * Requests for setting application page cache capacity.
+ *
+ * @param ewk_context context object
+ * @param capacity set page memory cache capacity value
+ */
+EXPORT_API void ewk_context_cache_model_page_cache_capacity_set(
+    Ewk_Context* ewk_context,
+    uint32_t capacity);
+
+/**
+ * Requests for application memory cache capacity.
+ *
+ * @param ewk_context context object
+ * @param capacity_value the memory cache capacity value
+ *
+ * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_context_cache_model_memory_cache_capacity_get(
+    Ewk_Context* ewk_context,
+    uint32_t* capacity_value);
+
+/**
+ * Requests for application memory min dead capacity.
+ *
+ * @param ewk_context context object
+ * @param capacity_value the memory min dead capacity value
+ *
+ * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_context_cache_model_memory_min_dead_capacity_get(
+    Ewk_Context* ewk_context,
+    uint32_t* capacity_value);
+
+/**
+ * Requests for application memory max dead capacity.
+ *
+ * @param ewk_context context object
+ * @param capacity_value the memory max dead capacity value
+ *
+ * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_context_cache_model_memory_max_dead_capacity_get(
+    Ewk_Context* ewk_context,
+    uint32_t* capacity_value);
+
+enum _Ewk_Audio_Latency_Mode {
+    EWK_AUDIO_LATENCY_MODE_LOW = 0, /**< Low audio latency mode */
+    EWK_AUDIO_LATENCY_MODE_MID, /**< Middle audio latency mode */
+    EWK_AUDIO_LATENCY_MODE_HIGH, /**< High audio latency mode */
+    EWK_AUDIO_LATENCY_MODE_ERROR = -1 /** Error */
+};
+
+typedef enum _Ewk_Audio_Latency_Mode Ewk_Audio_Latency_Mode;
+
+/**
+ * @brief Set the mode of audio latency.
+ *
+ * @since_tizen 3.0
+ *
+ * @param[in] context context object
+ * @param[in] latency_mode Ewk_Audio_Latency_Mode
+ *
+ * @return @c EINA_TRUE if successful, @c EINA_FALSE otherwise
+ */
+EXPORT_API Eina_Bool ewk_context_audio_latency_mode_set(Ewk_Context* context, Ewk_Audio_Latency_Mode latency_mode);
+
+/**
+ * @brief Get the mode of audio latency.
+ *
+ * @since_tizen 3.0
+ *
+ * @param[in] context context object
+ *
+ * @return @c Ewk_Audio_Latency_Mode if successful, @c EWK_AUDIO_LATENCY_MODE_ERROR otherwise
+ */
+EXPORT_API Ewk_Audio_Latency_Mode ewk_context_audio_latency_mode_get(Ewk_Context* context);
+
+/**
+ * @brief Sets default zoom factor
+ *
+ * Sets default zoom factor for all pages opened with this context. Default
+ * zoom can be overridden with ewk_view_page_zoom_set on per page basis.
+ *
+ * @since_tizen 3.0
+ *
+ * @param[in] context context object
+ * @param[in] zoom_factor default zoom factor
+ */
+EXPORT_API void ewk_context_default_zoom_factor_set(Ewk_Context* context, double zoom_factor);
+
+/**
+ * @brief Gets default zoom factor
+ *
+ * Gets default zoom factor for all pages opened with this context.
+ *
+ * @since_tizen 3.0
+ *
+ * @param[in] context context object
+ *
+ * @return @c default zoom factor or negative value on error
+ */
+EXPORT_API double ewk_context_default_zoom_factor_get(Ewk_Context* context);
+
+/**
+* @}
+*/
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // ewk_context_product_h
index 532f1bf..f1006fc 100644 (file)
@@ -5,7 +5,7 @@
 #include "ewk_cookie_manager.h"
 
 #include "cookie_manager.h"
-#include "public/ewk_log.h"
+#include "ewk_log_internal.h"
 #include "private/ewk_cookie_manager_private.h"
 
 #define EWK_COOKIE_MANAGER_GET_OR_RETURN(manager, cookie_manager, ...)   \
index 398b5a9..3c6f9ac 100644 (file)
 /*
- * Copyright (C) 2009-2013 Samsung Electronics. All rights reserved.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
- * Boston, MA  02110-1301, USA.
- *
+ * Copyright (C) 2012 Intel Corporation. All rights reserved.
+ * Copyright (C) 2016 Samsung Electronics. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
  */
 
 /**
  * @file    ewk_cookie_manager.h
- * @brief   Describes the Ewk Cookie Manager API.
+ * @brief   This file describes the Ewk Cookie Manager API.
  */
 
 #ifndef ewk_cookie_manager_h
 #define ewk_cookie_manager_h
 
 #include <Eina.h>
+#include <tizen.h>
 #include "ewk_error.h"
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-/** Creates a type name for Ewk_Cookie_Manager */
+/**
+ * @addtogroup WEBVIEW
+ * @{
+ */
+
+/**
+ * @brief The structure type that creates a type name for #Ewk_Cookie_Manager.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ */
 typedef struct Ewk_Cookie_Manager Ewk_Cookie_Manager;
 
 /**
  * \enum    Ewk_Cookie_Accept_Policy
  *
- * @brief   Contains accept policies for the cookies.
+ * @brief   Enumeration that contains accept policies for the cookies.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
 enum Ewk_Cookie_Accept_Policy {
-    /// Accepts every cookie sent from any page.
-    EWK_COOKIE_ACCEPT_POLICY_ALWAYS,
-    /// Rejects all cookies.
-    EWK_COOKIE_ACCEPT_POLICY_NEVER,
-    /// Accepts only cookies set by the main document loaded.
-    EWK_COOKIE_ACCEPT_POLICY_NO_THIRD_PARTY
+    EWK_COOKIE_ACCEPT_POLICY_ALWAYS,        /**< Accepts every cookie sent from any page */
+    EWK_COOKIE_ACCEPT_POLICY_NEVER,         /**< Rejects all cookies */
+    EWK_COOKIE_ACCEPT_POLICY_NO_THIRD_PARTY /**< Accepts only cookies set by the main document loaded */
 };
 
-/// Creates a type name for the Ewk_Cookie_Accept_Policy.
-typedef enum Ewk_Cookie_Accept_Policy Ewk_Cookie_Accept_Policy;
-
 /**
- * \enum    Ewk_Cookie_Persistent_Storage
- *
- * @brief   Enum values to denote cookies persistent storage type.
+ * @brief Enumeration that creates a type name for the Ewk_Cookie_Accept_Policy.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
-enum Ewk_Cookie_Persistent_Storage {
-    /// Cookies are stored in a text file in the Mozilla "cookies.txt" format.
-    EWK_COOKIE_PERSISTENT_STORAGE_TEXT,
-    /// Cookies are stored in a SQLite file in the current Mozilla format.
-    EWK_COOKIE_PERSISTENT_STORAGE_SQLITE
-};
-
-/// Creates a type name for the Ewk_Cookie_Persistent_Storage.
-typedef enum Ewk_Cookie_Persistent_Storage Ewk_Cookie_Persistent_Storage;
+typedef enum Ewk_Cookie_Accept_Policy Ewk_Cookie_Accept_Policy;
 
 /**
- * @typedef Ewk_Cookie_Manager_Policy_Async_Get_Cb Ewk_Cookie_Manager_Policy_Async_Get_Cb
- * @brief Callback type for use with ewk_cookie_manager_accept_policy_async_get
+ * @brief Sets @a policy as the cookie acceptance policy for @a manager.
+ *
+ * @details By default, only cookies set by the main document loaded are
+ *          accepted.
+ *
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ *
+ * @param[in] manager The cookie manager to update
+ * @param[in] policy A #Ewk_Cookie_Accept_Policy
  */
-typedef void (*Ewk_Cookie_Manager_Policy_Async_Get_Cb)(Ewk_Cookie_Accept_Policy policy, void *event_info);
+EXPORT_API void ewk_cookie_manager_accept_policy_set(Ewk_Cookie_Manager* manager, Ewk_Cookie_Accept_Policy policy);
 
 /**
- * @typedef Ewk_Cookie_Manager_Async_Hostnames_Get_Cb Ewk_Cookie_Manager_Async_Hostnames_Get_Cb
- * @brief Callback type for use with ewk_cookie_manager_async_hostnames_with_cookies_get
+ * @brief Called for use with ewk_cookie_manager_accept_policy_async_get().
  *
- * @note The @a hostnames list items are guaranteed to be eina_stringshare. Whenever possible
- * save yourself some cpu cycles and use eina_stringshare_ref() instead of eina_stringshare_add()
- * or strdup().
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ *
+ * @param[in] policy A #Ewk_Cookie_Accept_Policy
+ * @param[in] event_info The user data that will be passsed when
+ *            ewk_cookie_manager_accept_policy_async_get() is called
  */
-typedef void (*Ewk_Cookie_Manager_Async_Hostnames_Get_Cb)(Eina_List *hostnames, Ewk_Error *error, void *event_info);
-
+typedef void (*Ewk_Cookie_Manager_Policy_Async_Get_Cb)(Ewk_Cookie_Accept_Policy policy, void* event_info);
 
 /**
- * Set the @a filename where non-session cookies are stored persistently using @a storage as the format to read/write the cookies.
+ * @brief Gets the cookie acceptance policy of @a manager asynchronously.
  *
- * Cookies are initially read from @filename to create an initial set of cookies.
- * Then, non-session cookies will be written to @filename.
+ * @details By default, only cookies set by the main document loaded are
+ *          accepted.
  *
- * By default, @a manager doesn't store the cookies persistenly, so you need to call this
- * method to keep cookies saved across sessions.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param cookie_manager The cookie manager to update.
- * @param filename the filename to read to/write from.
- * @param storage the type of storage.
+ * @param[in] manager The cookie manager to query
+ * @param[in] callback The function to call when the policy is received
+ * @param[in] data The user data (may be @c NULL)
  */
-EXPORT_API void ewk_cookie_manager_persistent_storage_set(Ewk_Cookie_Manager *manager, const char *filename, Ewk_Cookie_Persistent_Storage storage);
+EXPORT_API void ewk_cookie_manager_accept_policy_async_get(const Ewk_Cookie_Manager* manager, Ewk_Cookie_Manager_Policy_Async_Get_Cb callback, void* data);
 
 /**
- * Set @a policy as the cookie acceptance policy for @a manager.
+ * @brief Deletes all the cookies of @a manager.
  *
- * By default, only cookies set by the main document loaded are accepted.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param manager The cookie manager to update.
- * @param policy a #Ewk_Cookie_Accept_Policy
+ * @param[in] manager The cookie manager to update
  */
-
-EXPORT_API void ewk_cookie_manager_accept_policy_set(Ewk_Cookie_Manager *manager, Ewk_Cookie_Accept_Policy policy);
+EXPORT_API void ewk_cookie_manager_cookies_clear(Ewk_Cookie_Manager* manager);
 
 /**
- * Asynchronously get the cookie acceptance policy of @a manager.
+ * @brief Queries if the cookie manager allows cookies for file scheme URLs.
  *
- * By default, only cookies set by the main document loaded are accepted.
+ * @since_tizen 3.0
  *
- * @param manager The cookie manager to query.
- * @param callback The function to call when the policy is received or an error occured.
- * @param data User data (may be @c NULL).
- */
-EXPORT_API void ewk_cookie_manager_accept_policy_async_get(const Ewk_Cookie_Manager *manager, Ewk_Cookie_Manager_Policy_Async_Get_Cb callback, void *data);
-
-/**
- * Asynchronously get the list of host names for which @a manager contains cookies.
+ * @param[in] manager The cookie manager to query
  *
- * @param manager The cookie manager to query.
- * @param callback The function to call when the host names have been received.
- * @param data User data (may be @c NULL).
+ * @return @c EINA_TRUE if cookies for file scheme are allowed or @c EINA_FALSE otherwise
  */
-EXPORT_API void ewk_cookie_manager_async_hostnames_with_cookies_get(const Ewk_Cookie_Manager *manager, Ewk_Cookie_Manager_Async_Hostnames_Get_Cb callback, void *data);
+EXPORT_API Eina_Bool ewk_cookie_manager_file_scheme_cookies_allow_get(Ewk_Cookie_Manager *manager);
 
 /**
- * Remove all cookies of @a manager for the given @a hostname.
+ * @brief Sets whether cookie manager allows cookies for file scheme URLs.
  *
- * @param manager The cookie manager to update.
- * @param hostname A host name.
+ * @since_tizen 3.0
+ *
+ * @param[in] manager The cookie manager to allow file scheme for cookies
+ * @param[in] allow A state to set
  */
-EXPORT_API void ewk_cookie_manager_hostname_cookies_clear(Ewk_Cookie_Manager *manager, const char *hostname);
+EXPORT_API void ewk_cookie_manager_file_scheme_cookies_allow_set(Ewk_Cookie_Manager *manager, Eina_Bool allow);
 
 /**
- * Delete all cookies of @a manager.
- *
- * @param manager The cookie manager to update.
- */
-EXPORT_API void ewk_cookie_manager_cookies_clear(Ewk_Cookie_Manager *manager);
+* @}
+*/
 
 #ifdef __cplusplus
 }
diff --git a/tizen_src/ewk/efl_integration/public/ewk_cookie_manager_internal.h b/tizen_src/ewk/efl_integration/public/ewk_cookie_manager_internal.h
new file mode 100644 (file)
index 0000000..ed99d03
--- /dev/null
@@ -0,0 +1,96 @@
+/*
+ * Copyright (C) 2016 Samsung Electronics
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this program; see the file COPYING.LIB.  If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+/**
+ * @file    ewk_cookie_manager_internal.h
+ * @brief   Describes the Ewk Cookie Manager API.
+ */
+
+#ifndef ewk_cookie_manager_internal_h
+#define ewk_cookie_manager_internal_h
+
+#include "ewk_cookie_manager.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * \enum    Ewk_Cookie_Persistent_Storage
+ *
+ * @brief   Enum values to denote cookies persistent storage type.
+ */
+enum Ewk_Cookie_Persistent_Storage {
+    /// Cookies are stored in a text file in the Mozilla "cookies.txt" format.
+    EWK_COOKIE_PERSISTENT_STORAGE_TEXT,
+    /// Cookies are stored in a SQLite file in the current Mozilla format.
+    EWK_COOKIE_PERSISTENT_STORAGE_SQLITE
+};
+
+/// Creates a type name for the Ewk_Cookie_Persistent_Storage.
+typedef enum Ewk_Cookie_Persistent_Storage Ewk_Cookie_Persistent_Storage;
+
+/**
+ * @typedef Ewk_Cookie_Manager_Async_Hostnames_Get_Cb Ewk_Cookie_Manager_Async_Hostnames_Get_Cb
+ * @brief Callback type for use with ewk_cookie_manager_async_hostnames_with_cookies_get
+ *
+ * @note The @a hostnames list items are guaranteed to be eina_stringshare. Whenever possible
+ * save yourself some cpu cycles and use eina_stringshare_ref() instead of eina_stringshare_add()
+ * or strdup().
+ */
+typedef void (*Ewk_Cookie_Manager_Async_Hostnames_Get_Cb)(Eina_List *hostnames, Ewk_Error *error, void *event_info);
+
+
+/**
+ * Set the @a filename where non-session cookies are stored persistently using @a storage as the format to read/write the cookies.
+ *
+ * Cookies are initially read from @filename to create an initial set of cookies.
+ * Then, non-session cookies will be written to @filename.
+ *
+ * By default, @a manager doesn't store the cookies persistenly, so you need to call this
+ * method to keep cookies saved across sessions.
+ *
+ * @param cookie_manager The cookie manager to update.
+ * @param filename the filename to read to/write from.
+ * @param storage the type of storage.
+ */
+EXPORT_API void ewk_cookie_manager_persistent_storage_set(Ewk_Cookie_Manager *manager, const char *filename, Ewk_Cookie_Persistent_Storage storage);
+
+/**
+ * Asynchronously get the list of host names for which @a manager contains cookies.
+ *
+ * @param manager The cookie manager to query.
+ * @param callback The function to call when the host names have been received.
+ * @param data User data (may be @c NULL).
+ */
+EXPORT_API void ewk_cookie_manager_async_hostnames_with_cookies_get(const Ewk_Cookie_Manager *manager, Ewk_Cookie_Manager_Async_Hostnames_Get_Cb callback, void *data);
+
+/**
+ * Remove all cookies of @a manager for the given @a hostname.
+ *
+ * @param manager The cookie manager to update.
+ * @param hostname A host name.
+ */
+EXPORT_API void ewk_cookie_manager_hostname_cookies_clear(Ewk_Cookie_Manager *manager, const char *hostname);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // ewk_cookie_manager_internal_h
index fb9cc7d..94d439b 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "ewk_custom_handlers.h"
+#include "ewk_custom_handlers_internal.h"
 
 #include "private/ewk_custom_handlers_private.h"
 
diff --git a/tizen_src/ewk/efl_integration/public/ewk_custom_handlers_internal.h b/tizen_src/ewk/efl_integration/public/ewk_custom_handlers_internal.h
new file mode 100644 (file)
index 0000000..7d2f489
--- /dev/null
@@ -0,0 +1,97 @@
+/*
+    Copyright (C) 2012 Samsung Electronics
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public License
+    along with this library; see the file COPYING.LIB.  If not, write to
+    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+    Boston, MA 02110-1301, USA.
+*/
+
+/**
+ * @file    ewk_custom_handlers_internal.h
+ * @brief   Custom scheme and content handlers.
+ *          (http://www.w3.org/TR/html5/timers.html#custom-handlers)
+ */
+
+#ifndef ewk_custom_handlers_internal_h
+#define ewk_custom_handlers_internal_h
+
+#include <Evas.h>
+#include <tizen.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct Ewk_Custom_Handlers_Data Ewk_Custom_Handlers_Data;
+
+/// Defines the handler states.
+enum _Ewk_Custom_Handlers_State {
+    /// Indicates that no attempt has been made to register the given handler.
+    EWK_CUSTOM_HANDLERS_NEW,
+    /// Indicates that the given handler has been registered or that the site is blocked from registering the handler.
+    EWK_CUSTOM_HANDLERS_REGISTERED,
+    /// Indicates that the given handler has been offered but was rejected.
+    EWK_CUSTOM_HANDLERS_DECLINED
+};
+
+/// Creates a type name for @a _Ewk_Custom_Handlers_State.
+typedef enum _Ewk_Custom_Handlers_State Ewk_Custom_Handlers_State;
+
+/**
+ * Get target(scheme or mime type) of custom handlers.
+ *
+ * @param data custom handlers's structure.
+ *
+ * @return @c target (scheme or mime type).
+ */
+EINA_DEPRECATED EXPORT_API Eina_Stringshare* ewk_custom_handlers_data_target_get(const Ewk_Custom_Handlers_Data* data);
+
+/**
+ * Get base url of custom handlers.
+ *
+ * @param data custom handlers's structure.
+ *
+ * @return @c base url.
+ */
+EINA_DEPRECATED EXPORT_API Eina_Stringshare* ewk_custom_handlers_data_base_url_get(const Ewk_Custom_Handlers_Data* data);
+
+/**
+ * Get url of custom handlers.
+ *
+ * @param data custom handlers's structure.
+ *
+ * @return @c url.
+ */
+EINA_DEPRECATED EXPORT_API Eina_Stringshare* ewk_custom_handlers_data_url_get(const Ewk_Custom_Handlers_Data* data);
+
+/**
+ * Get title of custom handlers.
+ *
+ * @param data custom handlers's structure.
+ *
+ * @return @c title.
+ */
+EINA_DEPRECATED EXPORT_API Eina_Stringshare* ewk_custom_handlers_data_title_get(const Ewk_Custom_Handlers_Data* data);
+
+/**
+ * Set result of isProtocolRegistered API.
+ *
+ * @param data custom handlers's structure
+ * @param result(Ewk_Custom_Handlers_State) of isProtocolRegistered and isContentRegistered API
+ */
+EINA_DEPRECATED EXPORT_API void ewk_custom_handlers_data_result_set(Ewk_Custom_Handlers_Data* data, Ewk_Custom_Handlers_State result);
+#ifdef __cplusplus
+}
+#endif
+#endif // ewk_custom_handlers_internal_h
index 59097e0..7d82dbc 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "ewk_dispatcher.h"
+#include "ewk_dispatcher_internal.h"
 #include <assert.h>
 
 // // TODO: remove dependency to chromium internal
@@ -2,11 +2,15 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef ewk_chromium_h
-#define ewk_chromium_h
+#ifndef ewk_dispatcher_internal_h
+#define ewk_dispatcher_internal_h
 
 #include <tizen.h>
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 typedef void (*ewk_dispatch_callback)(void *);
 
 /**
@@ -18,4 +22,8 @@ EXPORT_API void ewk_dispatcher_touch();
 
 EXPORT_API void ewk_dispatcher_dispatch(ewk_dispatch_callback cb, void *user_data, unsigned delay);
 
+#ifdef __cplusplus
+}
 #endif
+
+#endif //ewk_dispatcher_internal_h
@@ -2,13 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef ewk_enums_h
-#define ewk_enums_h
+#ifndef ewk_enums_internal_h
+#define ewk_enums_internal_h
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
+// #if OS(TIZEN)
 /// Represents types of gesture.
 enum _Ewk_Gesture_Type {
     EWK_GESTURE_TAP,
@@ -19,6 +20,7 @@ enum _Ewk_Gesture_Type {
 };
 /// Creates a type name for @a _Ewk_Gesture_Type.
 typedef enum _Ewk_Gesture_Type Ewk_Gesture_Type;
+// #endif // #if OS(TIZEN)
 
 //#if ENABLE(TIZEN_ORIENTATION_EVENTS)
 enum _Ewk_Screen_Orientation {
@@ -30,25 +32,8 @@ enum _Ewk_Screen_Orientation {
 typedef enum _Ewk_Screen_Orientation Ewk_Screen_Orientation;
 //#endif
 
-/**
- * \enum    Ewk_Cache_Model
- *
- * @brief   Contains option for cache model
- */
-enum _Ewk_Cache_Model {
-    /// Use the smallest cache capacity.
-    EWK_CACHE_MODEL_DOCUMENT_VIEWER,
-    /// Use bigger cache capacity than EWK_CACHE_MODEL_DOCUMENT_VIEWER.
-    EWK_CACHE_MODEL_DOCUMENT_BROWSER,
-    /// Use the biggest cache capacity.
-    EWK_CACHE_MODEL_PRIMARY_WEBBROWSER
-};
-
-/// Creates a type name for the Ewk_Cache_Model.
-typedef enum _Ewk_Cache_Model Ewk_Cache_Model;
-
 #ifdef __cplusplus
 }
 #endif
 
-#endif // ewk_enums_h
+#endif // ewk_enums_internal_h
index 3293bd7..48c73eb 100644 (file)
@@ -3,7 +3,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "ewk_error.h"
+#include "ewk_error_internal.h"
 
 #include "net/base/net_errors.h"
 
index 7d5bede..9664cc4 100644 (file)
@@ -1,32 +1,25 @@
 /*
  * Copyright (C) 2012 Intel Corporation.
- * Copyright (C) 2013 Samsung Electronics. All rights reserved.
- * 
- * Redistribution and use in source and binary forms, with or without 
- * modification, are permitted provided that the following conditions 
- * are met: 
- * 1. Redistributions of source code must retain the above copyright 
- *    notice, this list of conditions and the following disclaimer. 
- * 2. Redistributions in binary form must reproduce the above copyright 
- *    notice, this list of conditions and the following disclaimer in the 
- *    documentation and/or other materials provided with the distribution. 
- * 
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' 
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS 
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 
- * THE POSSIBILITY OF SUCH DAMAGE. 
+ * Copyright (C) 2013-2016 Samsung Electronics.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this library; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  */
 
 /**
  * @file    ewk_error.h
- * @brief   Describes the Web Error API.
+ * @brief   This file describes the Ewk Web Error API.
  */
 
 #ifndef ewk_error_h
 extern "C" {
 #endif
 
-/** Creates a type name for @a Ewk_Error. */
-typedef struct _Ewk_Error Ewk_Error;
+/**
+ * @addtogroup WEBVIEW
+ * @{
+ */
 
-/// Creates a type name for Ewk_Error_Type.
-typedef enum {
-    EWK_ERROR_TYPE_NONE,
-    EWK_ERROR_TYPE_INTERNAL,
-    EWK_ERROR_TYPE_NETWORK,
-    EWK_ERROR_TYPE_POLICY,
-    EWK_ERROR_TYPE_PLUGIN,
-    EWK_ERROR_TYPE_DOWNLOAD,
-    EWK_ERROR_TYPE_PRINT
-} Ewk_Error_Type;
+/**
+ * @if MOBILE
+ * @brief The structure type that creates a type name for #Ewk_Error.
+ * @since_tizen 2.3
+ * @endif
+ */
+typedef struct _Ewk_Error Ewk_Error;
 
+/**
+ * @if MOBILE
+ * \enum   Ewk_Error_Code
+ * @brief  Enumeration that provides an option to error codes.
+ * @since_tizen 2.3
+ * @endif
+ */
 typedef enum {
     EWK_ERROR_CODE_UNKNOWN,    /**< Unknown */
     EWK_ERROR_CODE_CANCELED,   /**< User canceled */
-    EWK_ERROR_CODE_CANT_SUPPORT_MIMETYPE,  /**< Can't show page for this MIME Type */
+    EWK_ERROR_CODE_CANT_SUPPORT_MIMETYPE,
+    /**< Can't show page for this MIME Type */
     EWK_ERROR_CODE_FAILED_FILE_IO, /**< Error */
     EWK_ERROR_CODE_CANT_CONNECT,   /**< Cannot connect to Network */
     EWK_ERROR_CODE_CANT_LOOKUP_HOST,   /**< Fail to look up host from DNS */
-    EWK_ERROR_CODE_FAILED_TLS_HANDSHAKE,   /**< Fail to SSL/TLS handshake */
-    EWK_ERROR_CODE_INVALID_CERTIFICATE,    /**< Received certificate is invalid */
-    EWK_ERROR_CODE_REQUEST_TIMEOUT,    /**< Connection timeout */
-    EWK_ERROR_CODE_TOO_MANY_REDIRECTS, /**< Too many redirects */
-    EWK_ERROR_CODE_TOO_MANY_REQUESTS,  /**< Too many requests during this load */
-    EWK_ERROR_CODE_BAD_URL,    /**< Malformed url */
-    EWK_ERROR_CODE_UNSUPPORTED_SCHEME, /**< Unsupported scheme */
-    EWK_ERROR_CODE_AUTHENTICATION, /**< User authentication failed on server */
+    EWK_ERROR_CODE_FAILED_TLS_HANDSHAKE, /**< Fail to SSL/TLS handshake */
+    EWK_ERROR_CODE_INVALID_CERTIFICATE,  /**< Received certificate is invalid */
+    EWK_ERROR_CODE_REQUEST_TIMEOUT,      /**< Connection timeout */
+    EWK_ERROR_CODE_TOO_MANY_REDIRECTS,   /**< Too many redirects */
+    EWK_ERROR_CODE_TOO_MANY_REQUESTS, /**< Too many requests during this load */
+    EWK_ERROR_CODE_BAD_URL,           /**< Malformed url */
+    EWK_ERROR_CODE_UNSUPPORTED_SCHEME,/**< Unsupported scheme */
+    EWK_ERROR_CODE_AUTHENTICATION,  /**< User authentication failed on server */
     EWK_ERROR_CODE_INTERNAL_SERVER, /**< Web server has internal server error */
     EWK_ERROR_CODE_CANNOTSHOWMIMETYPE = 100,
     EWK_ERROR_CODE_CANNOTSHOWURL,
@@ -80,203 +80,73 @@ typedef enum {
     EWK_ERROR_CODE_PLUGINWILLHANDLELOAD,
 } Ewk_Error_Code;
 
-typedef enum {
-    EWK_ERROR_NETWORK_STATUS_NONE,
-
-    /* Transport Errors */
-    EWK_ERROR_NETWORK_STATUS_CANCELLED = 1,
-    EWK_ERROR_NETWORK_STATUS_CANT_RESOLVE,
-    EWK_ERROR_NETWORK_STATUS_CANT_RESOLVE_PROXY,
-    EWK_ERROR_NETWORK_STATUS_CANT_CONNECT,
-    EWK_ERROR_NETWORK_STATUS_CANT_CONNECT_PROXY,
-    EWK_ERROR_NETWORK_STATUS_SSL_FAILED,
-    EWK_ERROR_NETWORK_STATUS_IO_ERROR,
-    EWK_ERROR_NETWORK_STATUS_MALFORMED,
-    EWK_ERROR_NETWORK_STATUS_TRY_AGAIN,
-    EWK_ERROR_NETWORK_STATUS_TOO_MANY_REDIRECTS,
-    EWK_ERROR_NETWORK_STATUS_TLS_FAILED,
-
-    /* HTTP Status Codes */
-    EWK_ERROR_NETWORK_STATUS_CONTINUE = 100,
-    EWK_ERROR_NETWORK_STATUS_SWITCHING_PROTOCOLS,
-    EWK_ERROR_NETWORK_STATUS_PROCESSING,
-
-    EWK_ERROR_NETWORK_STATUS_OK = 200,
-    EWK_ERROR_NETWORK_STATUS_CREATED,
-    EWK_ERROR_NETWORK_STATUS_ACCEPTED,
-    EWK_ERROR_NETWORK_STATUS_NON_AUTHORITATIVE,
-    EWK_ERROR_NETWORK_STATUS_NO_CONTENT,
-    EWK_ERROR_NETWORK_STATUS_RESET_CONTENT,
-    EWK_ERROR_NETWORK_STATUS_PARTIAL_CONTENT,
-    EWK_ERROR_NETWORK_STATUS_MULTI_STATUS,
-
-    EWK_ERROR_NETWORK_STATUS_MULTIPLE_CHOICES = 300,
-    EWK_ERROR_NETWORK_STATUS_MOVED_PERMANENTLY,
-    EWK_ERROR_NETWORK_STATUS_FOUND = 302,
-    EWK_ERROR_NETWORK_STATUS_MOVED_TEMPORARILY = 302,
-    EWK_ERROR_NETWORK_STATUS_SEE_OTHER,
-    EWK_ERROR_NETWORK_STATUS_NOT_MODIFIED,
-    EWK_ERROR_NETWORK_STATUS_USE_PROXY,
-    EWK_ERROR_NETWORK_STATUS_NOT_APPEARING_IN_THIS_PROTOCOL,
-    EWK_ERROR_NETWORK_STATUS_TEMPORARY_REDIRECT,
-
-    EWK_ERROR_NETWORK_STATUS_BAD_REQUEST = 400,
-    EWK_ERROR_NETWORK_STATUS_UNAUTHORIZED,
-    EWK_ERROR_NETWORK_STATUS_PAYMENT_REQUIRED,
-    EWK_ERROR_NETWORK_STATUS_FORBIDDEN,
-    EWK_ERROR_NETWORK_STATUS_NOT_FOUND,
-    EWK_ERROR_NETWORK_STATUS_METHOD_NOT_ALLOWED,
-    EWK_ERROR_NETWORK_STATUS_NOT_ACCEPTABLE,
-    EWK_ERROR_NETWORK_STATUS_PROXY_AUTHENTICATION_REQUIRED,
-    EWK_ERROR_NETWORK_STATUS_PROXY_UNAUTHORIZED = EWK_ERROR_NETWORK_STATUS_PROXY_AUTHENTICATION_REQUIRED,
-    EWK_ERROR_NETWORK_STATUS_REQUEST_TIMEOUT,
-    EWK_ERROR_NETWORK_STATUS_CONFLICT,
-    EWK_ERROR_NETWORK_STATUS_GONE,
-    EWK_ERROR_NETWORK_STATUS_LENGTH_REQUIRED,
-    EWK_ERROR_NETWORK_STATUS_PRECONDITION_FAILED,
-    EWK_ERROR_NETWORK_STATUS_REQUEST_ENTITY_TOO_LARGE,
-    EWK_ERROR_NETWORK_STATUS_REQUEST_URI_TOO_LONG,
-    EWK_ERROR_NETWORK_STATUS_UNSUPPORTED_MEDIA_TYPE,
-    EWK_ERROR_NETWORK_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE,
-    EWK_ERROR_NETWORK_STATUS_INVALID_RANGE = EWK_ERROR_NETWORK_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE,
-    EWK_ERROR_NETWORK_STATUS_EXPECTATION_FAILED,
-    EWK_ERROR_NETWORK_STATUS_UNPROCESSABLE_ENTITY = 422,
-    EWK_ERROR_NETWORK_STATUS_LOCKED,
-    EWK_ERROR_NETWORK_STATUS_FAILED_DEPENDENCY,
-
-    EWK_ERROR_NETWORK_STATUS_INTERNAL_SERVER_ERROR = 500,
-    EWK_ERROR_NETWORK_STATUS_NOT_IMPLEMENTED,
-    EWK_ERROR_NETWORK_STATUS_BAD_GATEWAY,
-    EWK_ERROR_NETWORK_STATUS_SERVICE_UNAVAILABLE,
-    EWK_ERROR_NETWORK_STATUS_GATEWAY_TIMEOUT,
-    EWK_ERROR_NETWORK_STATUS_HTTP_VERSION_NOT_SUPPORTED,
-    EWK_ERROR_NETWORK_STATUS_INSUFFICIENT_STORAGE = 507,
-    EWK_ERROR_NETWORK_STATUS_NOT_EXTENDED = 510
-} Ewk_Error_Network_Status;
-
-typedef enum {
-    EWK_ERROR_IO_CODE_FAILED,
-    EWK_ERROR_IO_CODE_NOT_FOUND,
-    EWK_ERROR_IO_CODE_EXISTS,
-    EWK_ERROR_IO_CODE_IS_DIRECTORY,
-    EWK_ERROR_IO_CODE_NOT_DIRECTORY,
-    EWK_ERROR_IO_CODE_NOT_EMPTY,
-    EWK_ERROR_IO_CODE_NOT_REGULAR_FILE,
-    EWK_ERROR_IO_CODE_NOT_SYMBOLIC_LINK,
-    EWK_ERROR_IO_CODE_NOT_MOUNTABLE_FILE,
-    EWK_ERROR_IO_CODE_FILENAME_TOO_LONG,
-    EWK_ERROR_IO_CODE_INVALID_FILENAME,
-    EWK_ERROR_IO_CODE_TOO_MANY_LINKS,
-    EWK_ERROR_IO_CODE_NO_SPACE,
-    EWK_ERROR_IO_CODE_INVALID_ARGUMENT,
-    EWK_ERROR_IO_CODE_PERMISSION_DENIED,
-    EWK_ERROR_IO_CODE_NOT_SUPPORTED,
-    EWK_ERROR_IO_CODE_NOT_MOUNTED,
-    EWK_ERROR_IO_CODE_ALREADY_MOUNTED,
-    EWK_ERROR_IO_CODE_CLOSED,
-    EWK_ERROR_IO_CODE_CANCELLED,
-    EWK_ERROR_IO_CODE_PENDING,
-    EWK_ERROR_IO_CODE_READ_ONLY,
-    EWK_ERROR_IO_CODE_CANT_CREATE_BACKUP,
-    EWK_ERROR_IO_CODE_WRONG_ETAG,
-    EWK_ERROR_IO_CODE_TIMED_OUT,
-    EWK_ERROR_IO_CODE_WOULD_RECURSE,
-    EWK_ERROR_IO_CODE_BUSY,
-    EWK_ERROR_IO_CODE_WOULD_BLOCK,
-    EWK_ERROR_IO_CODE_HOST_NOT_FOUND,
-    EWK_ERROR_IO_CODE_WOULD_MERGE,
-    EWK_ERROR_IO_CODE_FAILED_HANDLED,
-    EWK_ERROR_IO_CODE_TOO_MANY_OPEN_FILES,
-    EWK_ERROR_IO_CODE_NOT_INITIALIZED,
-    EWK_ERROR_IO_CODE_ADDRESS_IN_USE,
-    EWK_ERROR_IO_CODE_PARTIAL_INPUT,
-    EWK_ERROR_IO_CODE_INVALID_DATA,
-    EWK_ERROR_IO_CODE_DBUS_ERROR,
-    EWK_ERROR_IO_CODE_HOST_UNREACHABLE,
-    EWK_ERROR_IO_CODE_NETWORK_UNREACHABLE,
-    EWK_ERROR_IO_CODE_CONNECTION_REFUSED,
-    EWK_ERROR_IO_CODE_PROXY_FAILED,
-    EWK_ERROR_IO_CODE_PROXY_AUTH_FAILED,
-    EWK_ERROR_IO_CODE_PROXY_NEED_AUTH,
-    EWK_ERROR_IO_CODE_PROXY_NOT_ALLOWED
-} Ewk_Error_Io_Code;
-
 /**
- * Query type for this error.
- *
- * @param error error object to query.
+ * @if MOBILE
+ * @brief Query failing URL for this error.
  *
- * @return the error type, that may be @c NULL. This pointer is
- *         guaranteed to be eina_stringshare, so whenever possible
- *         save yourself some cpu cycles and use
- *         eina_stringshare_ref() instead of eina_stringshare_add() or
- *         strdup().
- */
-EXPORT_API Ewk_Error_Type ewk_error_type_get(const Ewk_Error *error);
-
-/**
- * Query failing URL for this error.
+ * @details URL that failed loading.
  *
- * URL that failed loading.
+ * @since_tizen 2.3
  *
- * @param error error object to query.
+ * @param[in] error The error object to query
  *
- * @return the URL pointer, that may be @c NULL. This pointer is
- *         guaranteed to be eina_stringshare, so whenever possible
- *         save yourself some cpu cycles and use
- *         eina_stringshare_ref() instead of eina_stringshare_add() or
- *         strdup().
+ * @return The URL pointer, that may be @c NULL. This pointer is\n
+ *         guaranteed to be eina_stringshare, so whenever possible\n
+ *         save yourself some cpu cycles and use\n
+ *         eina_stringshare_ref() instead of eina_stringshare_add() or\n
+ *         strdup()
+ * @endif
  */
-EXPORT_API const char *ewk_error_url_get(const Ewk_Error *error);
+EXPORT_API const char* ewk_error_url_get(const Ewk_Error* error);
 
 /**
- * Query HTTP error code.
+ * @if MOBILE
+ * @brief Query the error code.
  *
- * @param error error object to query.
+ * @since_tizen 2.3
  *
- * #if PLATFORM(TIZEN)
- * @note If ewk_error_domain_get returns "WebKitErrorDomain", the error code represents Ewk_Error_Code.
- *       If "soup_http_error_quark", it represents Ewk_Error_Network_Status.
- *       If "g-io-error-quark", it represents Ewk_Error_Io_Code.
- * #endif
+ * @param[in] error The error object to query
  *
- * @return the HTTP error code.
+ * @return The error code #Ewk_Error_Code
+ * @endif
  */
-EXPORT_API int ewk_error_code_get(const Ewk_Error *error);
+EXPORT_API int ewk_error_code_get(const Ewk_Errorerror);
 
 /**
- * Query description for this error.
- *
- * @param error error object to query.
+ * @if MOBILE
+ * @brief Query description for this error.
  *
- * @return the description pointer, that may be @c NULL. This pointer is
- *         guaranteed to be eina_stringshare, so whenever possible
- *         save yourself some cpu cycles and use
- *         eina_stringshare_ref() instead of eina_stringshare_add() or
- *         strdup().
- */
-EXPORT_API const char *ewk_error_description_get(const Ewk_Error *error);
-
-/**
- * Returns domain from Ewk_Error.
+ * @since_tizen 2.3
  *
- * @param error Ewk_Error object received from "load,error" evas object smart callback
+ * @param[in] error The error object to query
  *
- * @return @c domain string on success or empty string on failure
+ * @return The description pointer, that may be @c NULL. This pointer is\n
+ *         guaranteed to be eina_stringshare, so whenever possible\n
+ *         save yourself some cpu cycles and use\n
+ *         eina_stringshare_ref() instead of eina_stringshare_add() or\n
+ *         strdup()
+ * @endif
  */
-EXPORT_API const char* ewk_error_domain_get(const Ewk_Error* error);
+EXPORT_API const char* ewk_error_description_get(const Ewk_Error* error);
 
 /**
- * Query if error is caused by a cancellation.
+ * @if MOBILE
+ * @brief Query if error should be treated as a cancellation.
+ *
+ * @since_tizen 2.3
  *
- * @param error error object to query.
+ * @param[in] error The error object to query
  *
- * @return @c EINA_FALSE as in current implementation error cannot be
- *         caused by a cancellation. This API is for compatibility
- *         reasons.
+ * @return @c EINA_TRUE if this error should be treated as a cancellation\n
+ *         otherwise @c EINA_FALSE
+ * @endif
  */
 EXPORT_API Eina_Bool ewk_error_cancellation_get(const Ewk_Error* error);
 
+/**
+* @}
+*/
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/tizen_src/ewk/efl_integration/public/ewk_error_internal.h b/tizen_src/ewk/efl_integration/public/ewk_error_internal.h
new file mode 100644 (file)
index 0000000..baca895
--- /dev/null
@@ -0,0 +1,198 @@
+/*
+ * Copyright (C) 2016 Intel Corporation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/**
+ * @file    ewk_error_internal.h
+ * @brief   Describes the Web Error API.
+ */
+
+#ifndef ewk_error_internal_h
+#define ewk_error_internal_h
+
+#include "ewk_error.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/// Creates a type name for Ewk_Error_Type.
+typedef enum {
+    EWK_ERROR_TYPE_NONE,
+    EWK_ERROR_TYPE_INTERNAL,
+    EWK_ERROR_TYPE_NETWORK,
+    EWK_ERROR_TYPE_POLICY,
+    EWK_ERROR_TYPE_PLUGIN,
+    EWK_ERROR_TYPE_DOWNLOAD,
+    EWK_ERROR_TYPE_PRINT
+} Ewk_Error_Type;
+
+typedef enum {
+    EWK_ERROR_NETWORK_STATUS_NONE,
+
+    /* Transport Errors */
+    EWK_ERROR_NETWORK_STATUS_CANCELLED = 1,
+    EWK_ERROR_NETWORK_STATUS_CANT_RESOLVE,
+    EWK_ERROR_NETWORK_STATUS_CANT_RESOLVE_PROXY,
+    EWK_ERROR_NETWORK_STATUS_CANT_CONNECT,
+    EWK_ERROR_NETWORK_STATUS_CANT_CONNECT_PROXY,
+    EWK_ERROR_NETWORK_STATUS_SSL_FAILED,
+    EWK_ERROR_NETWORK_STATUS_IO_ERROR,
+    EWK_ERROR_NETWORK_STATUS_MALFORMED,
+    EWK_ERROR_NETWORK_STATUS_TRY_AGAIN,
+    EWK_ERROR_NETWORK_STATUS_TOO_MANY_REDIRECTS,
+    EWK_ERROR_NETWORK_STATUS_TLS_FAILED,
+
+    /* HTTP Status Codes */
+    EWK_ERROR_NETWORK_STATUS_CONTINUE = 100,
+    EWK_ERROR_NETWORK_STATUS_SWITCHING_PROTOCOLS,
+    EWK_ERROR_NETWORK_STATUS_PROCESSING,
+
+    EWK_ERROR_NETWORK_STATUS_OK = 200,
+    EWK_ERROR_NETWORK_STATUS_CREATED,
+    EWK_ERROR_NETWORK_STATUS_ACCEPTED,
+    EWK_ERROR_NETWORK_STATUS_NON_AUTHORITATIVE,
+    EWK_ERROR_NETWORK_STATUS_NO_CONTENT,
+    EWK_ERROR_NETWORK_STATUS_RESET_CONTENT,
+    EWK_ERROR_NETWORK_STATUS_PARTIAL_CONTENT,
+    EWK_ERROR_NETWORK_STATUS_MULTI_STATUS,
+
+    EWK_ERROR_NETWORK_STATUS_MULTIPLE_CHOICES = 300,
+    EWK_ERROR_NETWORK_STATUS_MOVED_PERMANENTLY,
+    EWK_ERROR_NETWORK_STATUS_FOUND = 302,
+    EWK_ERROR_NETWORK_STATUS_MOVED_TEMPORARILY = 302,
+    EWK_ERROR_NETWORK_STATUS_SEE_OTHER,
+    EWK_ERROR_NETWORK_STATUS_NOT_MODIFIED,
+    EWK_ERROR_NETWORK_STATUS_USE_PROXY,
+    EWK_ERROR_NETWORK_STATUS_NOT_APPEARING_IN_THIS_PROTOCOL,
+    EWK_ERROR_NETWORK_STATUS_TEMPORARY_REDIRECT,
+
+    EWK_ERROR_NETWORK_STATUS_BAD_REQUEST = 400,
+    EWK_ERROR_NETWORK_STATUS_UNAUTHORIZED,
+    EWK_ERROR_NETWORK_STATUS_PAYMENT_REQUIRED,
+    EWK_ERROR_NETWORK_STATUS_FORBIDDEN,
+    EWK_ERROR_NETWORK_STATUS_NOT_FOUND,
+    EWK_ERROR_NETWORK_STATUS_METHOD_NOT_ALLOWED,
+    EWK_ERROR_NETWORK_STATUS_NOT_ACCEPTABLE,
+    EWK_ERROR_NETWORK_STATUS_PROXY_AUTHENTICATION_REQUIRED,
+    EWK_ERROR_NETWORK_STATUS_PROXY_UNAUTHORIZED = EWK_ERROR_NETWORK_STATUS_PROXY_AUTHENTICATION_REQUIRED,
+    EWK_ERROR_NETWORK_STATUS_REQUEST_TIMEOUT,
+    EWK_ERROR_NETWORK_STATUS_CONFLICT,
+    EWK_ERROR_NETWORK_STATUS_GONE,
+    EWK_ERROR_NETWORK_STATUS_LENGTH_REQUIRED,
+    EWK_ERROR_NETWORK_STATUS_PRECONDITION_FAILED,
+    EWK_ERROR_NETWORK_STATUS_REQUEST_ENTITY_TOO_LARGE,
+    EWK_ERROR_NETWORK_STATUS_REQUEST_URI_TOO_LONG,
+    EWK_ERROR_NETWORK_STATUS_UNSUPPORTED_MEDIA_TYPE,
+    EWK_ERROR_NETWORK_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE,
+    EWK_ERROR_NETWORK_STATUS_INVALID_RANGE = EWK_ERROR_NETWORK_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE,
+    EWK_ERROR_NETWORK_STATUS_EXPECTATION_FAILED,
+    EWK_ERROR_NETWORK_STATUS_UNPROCESSABLE_ENTITY = 422,
+    EWK_ERROR_NETWORK_STATUS_LOCKED,
+    EWK_ERROR_NETWORK_STATUS_FAILED_DEPENDENCY,
+
+    EWK_ERROR_NETWORK_STATUS_INTERNAL_SERVER_ERROR = 500,
+    EWK_ERROR_NETWORK_STATUS_NOT_IMPLEMENTED,
+    EWK_ERROR_NETWORK_STATUS_BAD_GATEWAY,
+    EWK_ERROR_NETWORK_STATUS_SERVICE_UNAVAILABLE,
+    EWK_ERROR_NETWORK_STATUS_GATEWAY_TIMEOUT,
+    EWK_ERROR_NETWORK_STATUS_HTTP_VERSION_NOT_SUPPORTED,
+    EWK_ERROR_NETWORK_STATUS_INSUFFICIENT_STORAGE = 507,
+    EWK_ERROR_NETWORK_STATUS_NOT_EXTENDED = 510
+} Ewk_Error_Network_Status;
+
+typedef enum {
+    EWK_ERROR_IO_CODE_FAILED,
+    EWK_ERROR_IO_CODE_NOT_FOUND,
+    EWK_ERROR_IO_CODE_EXISTS,
+    EWK_ERROR_IO_CODE_IS_DIRECTORY,
+    EWK_ERROR_IO_CODE_NOT_DIRECTORY,
+    EWK_ERROR_IO_CODE_NOT_EMPTY,
+    EWK_ERROR_IO_CODE_NOT_REGULAR_FILE,
+    EWK_ERROR_IO_CODE_NOT_SYMBOLIC_LINK,
+    EWK_ERROR_IO_CODE_NOT_MOUNTABLE_FILE,
+    EWK_ERROR_IO_CODE_FILENAME_TOO_LONG,
+    EWK_ERROR_IO_CODE_INVALID_FILENAME,
+    EWK_ERROR_IO_CODE_TOO_MANY_LINKS,
+    EWK_ERROR_IO_CODE_NO_SPACE,
+    EWK_ERROR_IO_CODE_INVALID_ARGUMENT,
+    EWK_ERROR_IO_CODE_PERMISSION_DENIED,
+    EWK_ERROR_IO_CODE_NOT_SUPPORTED,
+    EWK_ERROR_IO_CODE_NOT_MOUNTED,
+    EWK_ERROR_IO_CODE_ALREADY_MOUNTED,
+    EWK_ERROR_IO_CODE_CLOSED,
+    EWK_ERROR_IO_CODE_CANCELLED,
+    EWK_ERROR_IO_CODE_PENDING,
+    EWK_ERROR_IO_CODE_READ_ONLY,
+    EWK_ERROR_IO_CODE_CANT_CREATE_BACKUP,
+    EWK_ERROR_IO_CODE_WRONG_ETAG,
+    EWK_ERROR_IO_CODE_TIMED_OUT,
+    EWK_ERROR_IO_CODE_WOULD_RECURSE,
+    EWK_ERROR_IO_CODE_BUSY,
+    EWK_ERROR_IO_CODE_WOULD_BLOCK,
+    EWK_ERROR_IO_CODE_HOST_NOT_FOUND,
+    EWK_ERROR_IO_CODE_WOULD_MERGE,
+    EWK_ERROR_IO_CODE_FAILED_HANDLED,
+    EWK_ERROR_IO_CODE_TOO_MANY_OPEN_FILES,
+    EWK_ERROR_IO_CODE_NOT_INITIALIZED,
+    EWK_ERROR_IO_CODE_ADDRESS_IN_USE,
+    EWK_ERROR_IO_CODE_PARTIAL_INPUT,
+    EWK_ERROR_IO_CODE_INVALID_DATA,
+    EWK_ERROR_IO_CODE_DBUS_ERROR,
+    EWK_ERROR_IO_CODE_HOST_UNREACHABLE,
+    EWK_ERROR_IO_CODE_NETWORK_UNREACHABLE,
+    EWK_ERROR_IO_CODE_CONNECTION_REFUSED,
+    EWK_ERROR_IO_CODE_PROXY_FAILED,
+    EWK_ERROR_IO_CODE_PROXY_AUTH_FAILED,
+    EWK_ERROR_IO_CODE_PROXY_NEED_AUTH,
+    EWK_ERROR_IO_CODE_PROXY_NOT_ALLOWED
+} Ewk_Error_Io_Code;
+
+/**
+ * Query type for this error.
+ *
+ * @param error error object to query.
+ *
+ * @return the error type, that may be @c NULL. This pointer is
+ *         guaranteed to be eina_stringshare, so whenever possible
+ *         save yourself some cpu cycles and use
+ *         eina_stringshare_ref() instead of eina_stringshare_add() or
+ *         strdup().
+ */
+EXPORT_API Ewk_Error_Type ewk_error_type_get(const Ewk_Error *error);
+
+/**
+ * Returns domain from Ewk_Error.
+ *
+ * @param error Ewk_Error object received from "load,error" evas object smart callback
+ *
+ * @return @c domain string on success or empty string on failure
+ */
+EXPORT_API const char* ewk_error_domain_get(const Ewk_Error* error);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // ewk_error_internal_h
index d1afeca..f178007 100644 (file)
@@ -3,7 +3,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "ewk_favicon_database.h"
+#include "ewk_favicon_database_internal.h"
 
 #include "private/ewk_favicon_database_private.h"
 #include "private/ewk_private.h"
  */
 
 /**
- * @file    ewk_favicon_database.h
+ * @file    ewk_favicon_database_internal.h
  * @brief   Describes the Ewk Favicon Database API.
  */
 
-#ifndef ewk_favicon_database_h
-#define ewk_favicon_database_h
+#ifndef ewk_favicon_database_internal_h
+#define ewk_favicon_database_internal_h
 
 #include <Evas.h>
 #include <tizen.h>
@@ -73,4 +73,4 @@ EXPORT_API void ewk_favicon_database_icon_change_callback_add(Ewk_Favicon_Databa
 }
 #endif
 
-#endif // ewk_favicon_database_h
+#endif // ewk_favicon_database_internal_h
index 81da74c..00b930b 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "ewk_frame.h"
+#include "ewk_frame_internal.h"
 
 #include "private/ewk_frame_private.h"
 #include "private/ewk_private.h"
@@ -1,9 +1,24 @@
-// Copyright 2012 Samsung Electronics. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
+/*
+   Copyright (C) 2016 Samsung Electronics
 
-#ifndef ewk_frame_h
-#define ewk_frame_h
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public License
+    along with this library; see the file COPYING.LIB.  If not, write to
+    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+    Boston, MA 02110-1301, USA.
+*/
+
+#ifndef ewk_frame_internal_h
+#define ewk_frame_internal_h
 
 #include <Eina.h>
 #include <tizen.h>
@@ -13,6 +28,7 @@ extern "C" {
 #endif
 
 typedef struct _Ewk_Frame _Ewk_Frame;
+
 typedef _Ewk_Frame* Ewk_Frame_Ref;
 
 /**
@@ -46,4 +62,4 @@ EXPORT_API Eina_Bool ewk_frame_is_main_frame(Ewk_Frame_Ref frame);
 #ifdef __cplusplus
 }
 #endif
-#endif // ewk_frame_h
+#endif // ewk_frame_internal_h
index 88c63e8..c321db3 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "public/ewk_geolocation.h"
+#include "public/ewk_geolocation_internal.h"
 
 #include "public/ewk_security_origin.h"
 #include "private/ewk_security_origin_private.h"
index 745e26f..c933222 100644 (file)
@@ -1,6 +1,26 @@
-// Copyright 2013 Samsung Electronics. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
+/*
+ * Copyright (C) 2012 Samsung Electronics
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this program; see the file COPYING.LIB.  If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+/**
+ * @file    ewk_geolocation.h
+ * @brief   This file describes the Ewk Geolacation API.
+ */
 
 #ifndef ewk_geolocation_h
 #define ewk_geolocation_h
 extern "C" {
 #endif
 
-typedef struct _Ewk_Geolocation_Permission_Request Ewk_Geolocation_Permission_Request;
-
 /**
- * Requests for getting origin of geolocation permission request.
- *
- * @param request Ewk_Geolocation_Permission_Request object to get origin
+ * @brief The structure type that creates a type name for #Ewk_Geolocation_Permission_Request.
  *
- * @return security origin of geolocation permission data
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
  */
-EXPORT_API const Ewk_Security_Origin *ewk_geolocation_permission_request_origin_get(const Ewk_Geolocation_Permission_Request *request);
+typedef struct _Ewk_Geolocation_Permission_Request Ewk_Geolocation_Permission_Request;
 
 /**
- * Deprecated
- * Request to allow / deny the geolocation permission request
+ * @brief Requests for getting origin of geolocation permission request.
  *
- * @param request permission request to allow or deny permission
- * @param allow allow or deny permission for geolocation
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
  *
- * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
- */
-EXPORT_API Eina_Bool ewk_geolocation_permission_request_set(Ewk_Geolocation_Permission_Request *request, Eina_Bool allow);
-
-/**
- * Request to allow / deny the geolocation permission request
+ * @param[in] request Ewk_Geolocation_Permission_Request object to get origin
  *
- * @param request permission request to allow or deny permission
- * @param allow allow or deny permission for geolocation
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
+ * @return security origin of geolocation permission data
  */
-EXPORT_API Eina_Bool ewk_geolocation_permission_reply(Ewk_Geolocation_Permission_Request* permissionRequest, Eina_Bool allow);
+EXPORT_API const Ewk_Security_Origin *ewk_geolocation_permission_request_origin_get(const Ewk_Geolocation_Permission_Request *request);
 
 /**
- * Suspend the operation for permission request.
- *
- * This suspends the operation for permission request.
- * This is very useful to decide the policy from the additional UI operation like the popup.
- *
- * @param request Ewk_Geolocation_Permission_Request object to suspend permission request
- */
-EXPORT_API void ewk_geolocation_permission_request_suspend(Ewk_Geolocation_Permission_Request *request);
+* @}
+*/
 
 #ifdef __cplusplus
 }
diff --git a/tizen_src/ewk/efl_integration/public/ewk_geolocation_internal.h b/tizen_src/ewk/efl_integration/public/ewk_geolocation_internal.h
new file mode 100644 (file)
index 0000000..34714a9
--- /dev/null
@@ -0,0 +1,64 @@
+/*
+   Copyright (C) 2016 Samsung Electronics
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public License
+    along with this library; see the file COPYING.LIB.  If not, write to
+    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+    Boston, MA 02110-1301, USA.
+*/
+
+#ifndef ewk_geolocation_internal_h
+#define ewk_geolocation_internal_h
+
+#include "ewk_geolocation.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * Request to allow / deny the geolocation permission request
+ *
+ * @param request permission request to allow or deny permission
+ * @param allow allow or deny permission for geolocation
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
+ */
+EXPORT_API Eina_Bool ewk_geolocation_permission_request_set(Ewk_Geolocation_Permission_Request* request, Eina_Bool allow);
+
+/**
+ * Suspend the operation for permission request.
+ *
+ * This suspends the operation for permission request.
+ * This is very useful to decide the policy from the additional UI operation
+ * like the popup.
+ *
+ * @param request Ewk_Geolocation_Permission_Request object to suspend
+ *        permission request
+ */
+EXPORT_API void ewk_geolocation_permission_request_suspend(Ewk_Geolocation_Permission_Request* request);
+
+/**
+ * Reply the result about geolocation permission.
+ *
+ * @param request Ewk_Geolocation_Permission_Request object to get the
+ *        information about geolocation permission request.
+ * @param allow result about geolocation permission
+ */
+EXPORT_API Eina_Bool ewk_geolocation_permission_reply(Ewk_Geolocation_Permission_Request* request, Eina_Bool allow);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // ewk_geolocation_internal_h
index 27eb4ac..ca7bc58 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "ewk_history.h"
+#include "ewk_history_internal.h"
 #include "private/ewk_private.h"
 #include "private/ewk_history_private.h"
 #include "Eina.h"
@@ -3,12 +3,12 @@
 // found in the LICENSE file.
 
 /**
- * @file    ewk_history.h
+ * @file    ewk_history_internal.h
  * @brief   Describes the history(back & forward list) API of visited page.
  */
 
-#ifndef ewk_history
-#define ewk_history
+#ifndef ewk_history_internal_h
+#define ewk_history_internal_h
 
 #include <Eina.h>
 #include <tizen.h>
@@ -82,4 +82,4 @@ EXPORT_API void ewk_history_free(Ewk_History* history);
 }
 #endif
 
-#endif // ewk_history
+#endif // ewk_history_internal_h
index 907a332..221ed9d 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "public/ewk_hit_test.h"
+#include "public/ewk_hit_test_internal.h"
 
 #include "eweb_view.h"
 #include "web_contents_delegate_efl.h"
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef ewk_hit_test_h
-#define ewk_hit_test_h
+#ifndef ewk_hit_test_internal_h
+#define ewk_hit_test_internal_h
 
 #include <Eina.h>
 #include <tizen.h>
@@ -162,4 +162,4 @@ EXPORT_API const char* ewk_hit_test_image_file_name_extension_get(Ewk_Hit_Test*
 }
 #endif
 
-#endif // ewk_hit_test_h
+#endif // ewk_hit_test_internal_h
index 8c0c2c5..6442ab1 100644 (file)
@@ -1,9 +1,16 @@
-// Copyright 2013 Samsung Electronics. All rights reserved.
+// Copyright 2013-2016 Samsung Electronics. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef ewk_intercept_request_h
-#define ewk_intercept_request_h
+/**
+ * @file    ewk_intercept_request.h
+ * @brief   This file describes the Intercept Request EWK API.
+ */
+
+#ifndef EWK_EFL_INTEGRATION_PUBLIC_EWK_INTERCEPT_REQUEST_H_
+#define EWK_EFL_INTEGRATION_PUBLIC_EWK_INTERCEPT_REQUEST_H_
+
+#include <stddef.h>
 
 #include <Eina.h>
 #include <tizen.h>
 extern "C" {
 #endif
 
+/**
+ * @addtogroup WEBVIEW
+ * @{
+ */
+
+/**
+ * @brief Handle for intercepted request. Used for getting information about
+ *        request and writing custom response.
+ *
+ * @since_tizen 3.0
+ */
 typedef struct _Ewk_Intercept_Request Ewk_Intercept_Request;
 
 /**
- * When application doesn't have a response for intercept request url, it
- * calls this api which notifies with FALSE value to the resource handle
- * indicates to continue with normal load procedure for this resource.
+ * @brief Returns request url from Intercept Request object.
+ *
+ * @remarks Returned string is owned by Intercept Request object, you have to
+ *          make a copy if you want to use it past owner lifetime.
+ *
+ * @since_tizen 3.0
+ *
+ * @param[in] intercept_request intercept request instance received from
+ *            Ewk_Context_Intercept_Request_Callback ewk_context callback
+ *
+ * @return @c url string on success or NULL on failure
+ */
+EXPORT_API const char* ewk_intercept_request_url_get(
+    Ewk_Intercept_Request* intercept_request);
+
+/**
+ * @brief Returns request method from Intercept Request object.
+ *
+ * @remarks Returned string is owned by Intercept Request object, you have to
+ *          make a copy if you want to use it past owner lifetime.
+ *
+ * @since_tizen 3.0
+ *
+ * @param[in] intercept_request intercept request instance received from
+ *            Ewk_Context_Intercept_Request_Callback ewk_context callback
+ *
+ * @return @c method string on success or NULL on failure
+ */
+EXPORT_API const char* ewk_intercept_request_http_method_get(
+    Ewk_Intercept_Request* intercept_request);
+
+/**
+ * @brief Returns request headers from Intercept Request object.
+ *
+ * @remarks Returned hash map is owned by Intercept Request object, you have to
+ *          make a copy if you want to use it past owner lifetime.
+ *
+ * @since_tizen 3.0
+ *
+ * @param[in] intercpet_request intercept request instance received from
+ *            Ewk_Context_Intercept_Request_Callback ewk_context callback
+ *
+ * @return @c Eina_Hash mapping from header name string to header value string
+ *            on success or NULL on failure
+ */
+EXPORT_API const Eina_Hash* ewk_intercept_request_headers_get(
+    Ewk_Intercept_Request* intercept_request);
+
+/**
+ * @brief Ignores request so engine will handle it normally.
+ *
+ * @details When application doesn't have a response for intercepted request
+ *          url, it calls this function, which notifies engine to proceed with
+ *          normal resource loading.
  *
- * @param interceptRequest intercept request instance received from "intercept,request" evas object smart callback
+ * @remarks After this call, handling the request is done. Any further calls on
+ *          the Ewk_Intercept_Request instance result in undefined behavior.
+ *
+ *          Only use this function from inside the
+ *          Ewk_Context_Intercept_Request_Callback.
+ *
+ * @since_tizen 3.0
+ *
+ * @param[in] intercept_request Intercept Request instance received in
+ *            Ewk_Context_Intercept_Request_Callback
  *
  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
  */
-EXPORT_API Eina_Bool ewk_intercept_request_ignore(Ewk_Intercept_Request* interceptRequest);
+EXPORT_API Eina_Bool ewk_intercept_request_ignore(
+    Ewk_Intercept_Request* intercept_request);
+
+/**
+ * @brief Writes whole response with headers at once.
+ *
+ * @details This function can be used to write whole response at once. To call
+ *          it, application should have full response headers and body ready
+ *          for the intercepted request.
+ *
+ * @remarks It is allowed to use this function both inside and outside
+ *          the Ewk_Context_Intercept_Request_Callback.
+ *
+ *          After this call, handling the request is done. Any further calls on
+ *          the Ewk_Intercept_Request instance result in undefined behavior.
+ *
+ *          You can't use this call after you started writing response in
+ *          chunks with @a ewk_intercept_request_response_write_chunk.
+ *
+ *          Alternatively you can use following functions which are more
+ *          convenient:
+ *          - ewk_intercept_request_response_status_set
+ *          - ewk_intercept_request_response_header_add
+ *          - ewk_intercept_request_response_header_map_add
+ *          - ewk_intercept_request_response_body_set
+ *          - ewk_intercept_request_response_write_chunk
+ *
+ *          Using this function overrides status and headers set with functions
+ *          listed above.
+ *
+ * @since_tizen 3.0
+ *
+ * @param[in] intercept_request Intercept Request instance received from
+ *            Ewk_Context_Intercept_Request_Callback ewk_context callback
+ * @param[in] headers Null-terminated string representing response's headers
+ *            for the intercept request.
+ *            By HTTP spec, lines should end with a newline ('\r\n') and
+ *            headers should end with an empty line ('\r\n\r\n').
+ * @param[in] body Response body for the intercept request
+ * @param[in] length Length of response body
+ *
+ * @return @c EINA_TRUE on success or EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_intercept_request_response_set(
+    Ewk_Intercept_Request* intercept_request, const char* headers,
+    const char* body, size_t length);
 
 /**
- * Returns url from Intercept Request object.
+ * @brief Sets status code and status text of response for intercepted request.
  *
- * @param interceptRequest intercept request instance received from "intercept,request" evas object smart callback
+ * @remarks It is allowed to use this function both inside and outside the
+ *          Ewk_Context_Intercept_Request_Callback.
  *
- * @return @c url string on success or empty string on failure
+ *          In case of failure of this function finish writing for this
+ *          intercept request.
+ *
+ * @since_tizen 3.0
+ *
+ * @param[in] intercept_request Intercept Request instance received from
+ *            Ewk_Context_Intercept_Request_Callback ewk_context callback
+ * @param[in] status_code HTTP response status code
+ * @param[in] custom_status_text HTTP response reason phrase, pass NULL to use
+ *            recommended reason phrase (example: "OK" for code 200)
+ *
+ * @return @c EINA_TRUE on success or EINA_FALSE on failure
  */
-EXPORT_API const char* ewk_intercept_request_url_get (Ewk_Intercept_Request* interceptRequest);
+EXPORT_API Eina_Bool ewk_intercept_request_response_status_set(
+    Ewk_Intercept_Request* intercept_request, int status_code,
+    const char* custom_status_text);
 
 /**
- * Returns method for the url from Intercept Request object.
+ * @brief Adds HTTP header to response for intercepted request.
+ *
+ * @remarks It is allowed to use this function both inside and outside
+ *          the Ewk_Context_Intercept_Request_Callback.
  *
- * @param interceptRequest intercept request instance received from "intercept,request" evas object smart callback
+ *          In case of failure of this function finish writing for this
+ *          intercept request.
  *
- * @return @c method string on success or empty string on failure
+ * @since_tizen 3.0
+ *
+ * @param[in] intercept_request Intercept Request instance received from
+ *            Ewk_Context_Intercept_Request_Callback ewk_context callback
+ * @param[in] field_name HTTP header field name
+ * @param[in] field_value HTTP header field value
+ *
+ * @return @c EINA_TRUE on success or EINA_FALSE on failure
  */
-EXPORT_API const char* ewk_intercept_request_http_method_get (Ewk_Intercept_Request* interceptRequest);
+EXPORT_API Eina_Bool ewk_intercept_request_response_header_add(
+    Ewk_Intercept_Request* intercept_request, const char* field_name,
+    const char* field_value);
 
 /**
- * Returns request body for the url from Intercept Request object.
+ * @brief Adds HTTP headers to response for intercepted request.
+ *
+ * @remarks It is allowed to use this function both inside and outside
+ *          the Ewk_Context_Intercept_Request_Callback.
+ *
+ *          In case of failure of this function finish writing for this
+ *          intercept request.
  *
- * @param interceptRequest intercept request instance received from "intercept,request" evas object smart callback
+ * @since_tizen 3.0
  *
- * @return @c body string on success or empty string on failure
+ * @param[in] intercept_request Intercept Request instance received from
+ *            Ewk_Context_Intercept_Request_Callback ewk_context callback.
+ * @param[in] headers Map from HTTP header field names to field values, both
+ *            represented as null terminated strings
+ *
+ * @return @c EINA_TRUE on success or EINA_FALSE on failure
  */
-EXPORT_API const char* ewk_intercept_request_body_get (Ewk_Intercept_Request* interceptRequest);
+EXPORT_API Eina_Bool ewk_intercept_request_response_header_map_add(
+    Ewk_Intercept_Request* intercept_request, const Eina_Hash* headers);
 
 /**
- * Returns request headers for the intercept Request.
+ * @brief Writes whole response body at once.
  *
- * @param intercpetRequest intercept request instance received from "intercept, request" evas object smart callback
+ * @details This function can be used to write response body. To call it,
+ *          application should have full response body ready for the
+ *          intercepted request.
  *
- * @return @c header string on success or empty string on failure
-*/
-EXPORT_API const Eina_Hash* ewk_intercept_request_headers_get (Ewk_Intercept_Request* interceptRequest);
+ * @remarks It is allowed to use this function both inside and outside
+ *          the Ewk_Context_Intercept_Request_Callback.
+ *
+ *          After this call, handling the request is done. Any further calls on
+ *          the Ewk_Intercept_Request instance result in undefined behavior.
+ *
+ *          You can't use this call after you started writing response
+ *          in chunks with @a ewk_intercept_request_response_write_chunk.
+ *
+ * @since_tizen 3.0
+ *
+ * @param[in] intercept_request Intercept Request instance received from
+ *            Ewk_Context_Intercept_Request_Callback ewk_context callback
+ * @param[in] body Response body for the intercept request
+ * @param[in] length Length of response body
+ *
+ * @return @c EINA_TRUE on success or EINA_FALSE on failure
+ *
+ * @pre Before writing response body, you should set response status and
+ *      headers using the following functions:
+ *      - ewk_intercept_request_response_status_set
+ *      - ewk_intercept_request_response_header_add
+ *      - ewk_intercept_request_response_header_map_add
+ *
+ */
+EXPORT_API Eina_Bool ewk_intercept_request_response_body_set(
+    Ewk_Intercept_Request* intercept_request, const char* body, size_t length);
 
 /**
- * When application has the response headers, body for the intercept request url, it call this api to set those.
+ * @brief Writes a part of response body.
+ *
+ * @details This function can be used to write response body in chunks.
+ *          Application doesn't have to prepare full response body before
+ *          calling this function, it can be used as soon as a part of response
+ *          is ready.
+ *
+ * @remarks If this function returns EINA_FALSE, handling the request is done.
+ *          Any further calls on the Ewk_Intercept_Request instance result in
+ *          undefined behavior. User should always check return value, because
+ *          response to this request might not be needed anymore, and function
+ *          can retrun EINA_FALSE even though user still has data to write.
+ *
+ *          It is only allowed to use this function *outside* of the
+ *          Ewk_Context_Intercept_Request_Callback.
+ *
+ *          If a part of response body has been written with this function, you
+ *          can't use the following functions anymore:
+ *          - ewk_intercept_request_response_set
+ *          - ewk_intercept_request_response_body_set
+ *
+ *          Using this function with too big chunks of data defeats its
+ *          purpose. Engine uses chunks of response written with this function
+ *          without waiting for end of data, which is its main advantage over
+ *          @a ewk_intercept_request_response_body_set.
+ *
+ * @since_tizen 3.0
+ *
+ * @param[in] intercept_request Intercept Request instance received from
+ *            Ewk_Context_Intercept_Request_Callback ewk_context callback
+ * @param[in] chunk Part of response body for intercepted request
+ * @param[in] length Length of response body part
  *
- * @param interceptRequest intercept request instance received from "intercept,request" evas object smart callback
- * @param headers response headers for the intercept request
- * @param body response body for the intercept request
- * @param length of response body
  * @return @c EINA_TRUE on success or EINA_FALSE on failure
+ *
+ * @pre Before writing response body, you should set response status
+ *      and headers using the following functions:
+ *      - ewk_intercept_request_response_status_set
+ *      - ewk_intercept_request_response_header_add
+ *      - ewk_intercept_request_response_header_map_add
+ *
+ * @post After writing full response body in chunks using this function, call
+ *       it again with NULL as @a chunk and 0 as @a length, to signal that
+ *       response body is finished.
+ *
+ *       Use the same arguments if there is a failure with preparing the rest
+ *       of response body on application side, and you don't want or can't
+ *       continue writing parts.
  */
-EXPORT_API Eina_Bool ewk_intercept_request_response_set (Ewk_Intercept_Request* interceptRequest, const char* headers, const char* body, int length);
+EXPORT_API Eina_Bool ewk_intercept_request_response_write_chunk(
+    Ewk_Intercept_Request* intercept_request, const char* chunk,
+    size_t length);
+
+/**
+* @}
+*/
 
 #ifdef __cplusplus
 }
 #endif
-#endif // ewk_intercept_request_h
+
+#endif  // EWK_EFL_INTEGRATION_PUBLIC_EWK_INTERCEPT_REQUEST_H_
diff --git a/tizen_src/ewk/efl_integration/public/ewk_intercept_request_internal.h b/tizen_src/ewk/efl_integration/public/ewk_intercept_request_internal.h
new file mode 100644 (file)
index 0000000..7bb8056
--- /dev/null
@@ -0,0 +1,35 @@
+// Copyright 2013-2016 Samsung Electronics. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef EWK_EFL_INTEGRATION_PUBLIC_EWK_INTERCEPT_REQUEST_INTERNAL_H_
+#define EWK_EFL_INTEGRATION_PUBLIC_EWK_INTERCEPT_REQUEST_INTERNAL_H_
+
+#include <Eina.h>
+#include <tizen.h>
+
+#include "ewk_intercept_request.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * Returns request url sheme from Intercept Request object.
+ *
+ * Returned string is owned by Intercept Request object, you have to make a
+ * copy if you want to use it past owner lifetime.
+ *
+ * @param intercept_request intercept request instance received from
+ *        Ewk_Context_Intercept_Request_Callback ewk_context callback
+ *
+ * @return @c url sheme string on success or NULL on failure
+ */
+EXPORT_API const char* ewk_intercept_request_scheme_get(
+    Ewk_Intercept_Request* intercept_request);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif  // EWK_EFL_INTEGRATION_PUBLIC_EWK_INTERCEPT_REQUEST_INTERNAL_H_
index c5ff43a..218f09b 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "ewk_ipc_message.h"
+#include "ewk_ipc_message_internal.h"
 
 #include "common/render_messages_ewk.h"
 #include "content/public/renderer/render_view.h"
@@ -3,16 +3,16 @@
 // found in the LICENSE file.
 
 /**
- * @file    ewk_ipc_message.h
+ * @file    ewk_ipc_message_internal.h
  * @brief   Custom support for ipc messages
  */
 
-#ifndef EWK_IPC_MESSAGE_H
-#define EWK_IPC_MESSAGE_H
+#ifndef ewk_ipc_message_internal_h
+#define ewk_ipc_message_internal_h
 
 #include <Eina.h>
-#include "ewk_export.h"
-#include "ewk_context.h"
+#include <tizen.h>
+#include "ewk_context_internal.h"
 
 #ifdef __cplusplus
 extern "C" {
@@ -116,4 +116,4 @@ EXPORT_API Eina_Bool ewk_ipc_plugins_sync_message_send(int routingId, Ewk_IPC_Wr
 }
 #endif
 
-#endif // EWK_IPC_MESSAGE_H
+#endif // ewk_ipc_message_internal_h
@@ -3,12 +3,12 @@
 // found in the LICENSE file.
 
 /**
- * @file    ewk_log.h
+ * @file    ewk_log_internal.h
  * @brief   flags related to logging functions.
  */
 
-#ifndef ewk_log_h
-#define ewk_log_h
+#ifndef ewk_log_internal_h
+#define ewk_log_internal_h
 
 #include <eina_log.h>
 
@@ -20,4 +20,4 @@ extern int _ewk_log_dom;
 #define INFO(...) EINA_LOG_DOM_INFO(_ewk_log_dom, __VA_ARGS__)
 #define DBG(...) EINA_LOG_DOM_DBG(_ewk_log_dom, __VA_ARGS__)
 
-#endif //ewk_log.h
+#endif //ewk_log_internal_h
index 3a2886d..8ab5920 100644 (file)
@@ -20,7 +20,7 @@
  *
  */
 
-#include "ewk_main.h"
+#include "ewk_main_internal.h"
 
 #include <Ecore.h>
 #include <Ecore_Evas.h>
@@ -32,8 +32,8 @@
 #include "command_line_efl.h"
 #include "eweb_context.h"
 #include "ewk_global_data.h"
-#include "public/ewk_log.h"
-#include "public/ewk_view.h"
+#include "ewk_log_internal.h"
+#include "ewk_view.h"
 #include "private/webview_delegate_ewk.h"
 #include "private/ewk_context_private.h"
 #include "private/ewk_private.h"
index 1285d4a..d63f721 100644 (file)
@@ -1,28 +1,28 @@
 /*
- * Copyright (C) 2009-2010 ProFUSION embedded systems
- * Copyright (C) 2009-2013 Samsung Electronics. All rights reserved.
- * Copyright (C) 2012 Intel Corporation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
- * Boston, MA  02110-1301, USA.
- *
- */
+    Copyright (C) 2009-2010 ProFUSION embedded systems
+    Copyright (C) 2016 Samsung Electronics
+    Copyright (C) 2012 Intel Corporation
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public License
+    along with this library; see the file COPYING.LIB.  If not, write to
+    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+    Boston, MA 02110-1301, USA.
+*/
 
 /**
  * @file    ewk_main.h
- * @brief   The general initialization of WebKit2-EFL, not tied to any view object.
+ * @brief   This file is the general initialization of Chromium-efl,
+            not tied to any view object.
  */
 
 #ifndef ewk_main_h
@@ -36,38 +36,39 @@ extern "C" {
 #endif
 
 /**
- * Initializes WebKit's instance.
+ * @addtogroup WEBVIEW
+ * @{
+ */
+
+/**
+ * @brief Initializes Chromium's instance.
  *
- * - initializes components needed by EFL,
- * - increases a reference count of WebKit's instance.
+ * - Initializes components needed by EFL,\n
+ * - Increases a reference count of Chromium's instance.
  *
- * @return a reference count of WebKit's instance on success or 0 on failure
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ *
+ * @return A reference count of Chromium's instance on success,\n
+ *         otherwise @c 0 on failure
  */
 EXPORT_API int ewk_init(void);
 
 /**
- * Decreases a reference count of WebKit's instance, possibly destroying it.
+ * @brief Decreases a reference count of Chromium's instance,
+ *        possibly destroying it.
  *
- * If the reference count reaches 0 WebKit's instance is destroyed.
+ * @details If the reference count reaches @c 0, Chromium's instance is
+ *          destroyed.
  *
- * Before calling ewk_shutdown client should delete all WebView objects it received from the engine.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @return a reference count of WebKit's instance
+ * @return A reference count of Chromium's instance
  */
 EXPORT_API int ewk_shutdown(void);
 
 /**
- * Set argument count and argument vector.
- */
-EXPORT_API void ewk_set_arguments(int argc, char** argv);
-
-/**
-* Set home directory.
-*
-* If new path is NULL or empty string, home directory is considered as not set.
-*
+* @}
 */
-EXPORT_API void ewk_home_directory_set(const char* path);
 
 #ifdef __cplusplus
 }
diff --git a/tizen_src/ewk/efl_integration/public/ewk_main_internal.h b/tizen_src/ewk/efl_integration/public/ewk_main_internal.h
new file mode 100644 (file)
index 0000000..b4040d1
--- /dev/null
@@ -0,0 +1,88 @@
+/*
+    Copyright (C) 2016 Samsung Electronics
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public License
+    along with this library; see the file COPYING.LIB.  If not, write to
+    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+    Boston, MA 02110-1301, USA.
+*/
+
+/**
+ * @file    ewk_main_internal.h
+ * @brief   The general initialization of Chromium-efl,
+ *          not tied to any view object.
+ */
+
+#ifndef ewk_main_internal_h
+#define ewk_main_internal_h
+
+#include "ewk_main.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * Set argument count and argument vector.
+ *
+ * Must be called before the following APIs:\n
+ * ewk_view_add\n
+ * ewk_view_add_in_incognito_mode\n
+ * ewk_view_add_with_context\n
+ * ewk_view_add_with_session_data\n
+ * ewk_context_default_get\n
+ * ewk_context_new\n
+ * ewk_context_new_with_injected_bundle_path
+ *
+ * This API allows passing application arguments to the engine.
+ * Also there is possible to add custom parameters. However,
+ * the engine expects *original* application arguments
+ * to remain unchanged. Passing copy of them using strdup and friends
+ * is prohibited. The recommended way to call this API is:
+ *
+ * int main(int argc, char* argv[]) {
+ *   ewk_set_arguments(argc, argv);
+ *   ...
+ * }
+ *
+ * or
+ *
+ * int main(int argc, char* argv[]) {
+ *     char* arg_options[] = {
+ *       argv[0],
+ *       "my_custom_param_1",
+ *       "my_custom_param_2",
+ *     };
+ *     int arg_cnt = sizeof(arg_options) / sizeof(arg_options[0]);
+ *     ewk_set_arguments(arg_cnt, arg_options);
+ * }
+ *
+ * @note Calling the function for the second time has no user-visible effect.
+ *
+ * @param argc argument count
+ * @param argv argument array
+ */
+EXPORT_API void ewk_set_arguments(int argc, char** argv);
+
+/**
+* Set home directory.
+*
+* If new path is NULL or empty string, home directory is considered as not set.
+*
+*/
+EXPORT_API void ewk_home_directory_set(const char* path);
+
+#ifdef __cplusplus
+}
+#endif
+#endif // ewk_main_internal_h
index c122779..b33f6d9 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "ewk_notification.h"
+#include "ewk_notification_internal.h"
 
 #include <Evas.h>
 
@@ -2,13 +2,13 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef ewk_notification_h
-#define ewk_notification_h
+#ifndef ewk_notification_internal_h
+#define ewk_notification_internal_h
 
 #include <Eina.h>
 #include <Evas.h>
-#include "ewk_export.h"
-#include "ewk_security_origin.h"
+#include <tizen.h>
+#include "ewk_security_origin_internal.h"
 
 #ifdef __cplusplus
 extern "C" {
@@ -227,4 +227,4 @@ EXPORT_API Eina_Bool ewk_notification_silent_get(const Ewk_Notification* ewk_not
 #ifdef __cplusplus
 }
 #endif
-#endif // ewk_notification_h
+#endif // ewk_notification_internal.h
index 93702e0..e837602 100644 (file)
@@ -3,7 +3,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "ewk_object.h"
+#include "ewk_object_internal.h"
 #include "private/ewk_object_private.h"
 #include "private/ewk_private.h"
 
@@ -4,12 +4,12 @@
 // found in the LICENSE file.
 
 /**
- * @file    ewk_object.h
+ * @file    ewk_object_internal.h
  * @brief   Describes the Ewk Ref Counted API.
  */
 
-#ifndef ewk_object_h
-#define ewk_object_h
+#ifndef ewk_object_internal_h
+#define ewk_object_internal_h
 
 #include <Eina.h>
 #include <tizen.h>
@@ -43,4 +43,4 @@ EXPORT_API void ewk_object_unref(Ewk_Object *object);
 }
 #endif
 
-#endif // ewk_object_h
+#endif // ewk_object_internal_h
index 93083a3..a702af2 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "ewk_page_group.h"
+#include "ewk_page_group_internal.h"
 #include "private/ewk_private.h"
 
 Ewk_Page_Group* ewk_page_group_create(const char* identifier)
@@ -3,12 +3,12 @@
 // found in the LICENSE file.
 
 /**
- * @file    ewk_page_group.h
+ * @file    ewk_page_group_internal.h
  * @brief   Describes the Ewk Page Group API.
  */
 
-#ifndef ewk_page_group_h
-#define ewk_page_group_h
+#ifndef ewk_page_group_internal_h
+#define ewk_page_group_internal_h
 
 #include <Eina.h>
 #include <tizen.h>
@@ -39,4 +39,4 @@ EXPORT_API Ewk_Page_Group *ewk_page_group_create(const char *identifier);
 }
 #endif
 
-#endif // ewk_page_group_h
+#endif // ewk_page_group_internal_h
index ca46fa6..2d7d0ef 100644 (file)
-// Copyright 2013 Samsung Electronics. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
+/*
+   Copyright (C) 2016 Samsung Electronics
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public License
+    along with this library; see the file COPYING.LIB.  If not, write to
+    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+    Boston, MA 02110-1301, USA.
+*/
+
+/**
+ * @file    ewk_policy_decision.h
+ * @brief   This file describes the Ewk Policy Decision API.
+ */
 
 #ifndef ewk_policy_decision_h
 #define ewk_policy_decision_h
 
 #include <Eina.h>
-#include "ewk_export.h"
-#include "ewk_frame.h"
+#include <tizen.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
 /**
- * \enum   Ewk_Policy_Decision_Type
- * @brief   Provides option to policy decision type.
+ * @addtogroup WEBVIEW
+ * @{
+ */
+
+/**
+ * \enum   _Ewk_Policy_Decision_Type
+ * @brief  Enumeration that provides an option to policy decision types.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
 enum _Ewk_Policy_Decision_Type {
-    EWK_POLICY_DECISION_USE,
-    EWK_POLICY_DECISION_DOWNLOAD,
-    EWK_POLICY_DECISION_IGNORE
+    EWK_POLICY_DECISION_USE, /**< Use */
+    EWK_POLICY_DECISION_DOWNLOAD, /**< Download */
+    EWK_POLICY_DECISION_IGNORE /**< Ignore */
 };
+
+/**
+ * @brief Enumeration that creates a type name for the Ewk_Policy_Decision_Type.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ */
 typedef enum _Ewk_Policy_Decision_Type Ewk_Policy_Decision_Type;
 
+/**
+ * @brief The structure type that creates a type name for Ewk_Policy_Decision.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ */
 typedef struct _Ewk_Policy_Decision Ewk_Policy_Decision;
 
+/**
+ * \enum   _Ewk_Policy_Navigation_Type
+ * @brief  Enumeration that provides an option to policy navigation types.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ */
 enum _Ewk_Policy_Navigation_Type {
-    EWK_POLICY_NAVIGATION_TYPE_LINK_CLICKED = 0,
-    EWK_POLICY_NAVIGATION_TYPE_FORM_SUBMITTED = 1,
-    EWK_POLICY_NAVIGATION_TYPE_BACK_FORWARD = 2,
-    EWK_POLICY_NAVIGATION_TYPE_RELOAD = 3,
-    EWK_POLICY_NAVIGATION_TYPE_FORM_RESUBMITTED = 4,
-    EWK_POLICY_NAVIGATION_TYPE_OTHER = 5
+    EWK_POLICY_NAVIGATION_TYPE_LINK_CLICKED = 0, /**< Link clicked */
+    EWK_POLICY_NAVIGATION_TYPE_FORM_SUBMITTED = 1, /**< Form submitted */
+    EWK_POLICY_NAVIGATION_TYPE_BACK_FORWARD = 2, /**< Back forward */
+    EWK_POLICY_NAVIGATION_TYPE_RELOAD = 3, /**< Reload */
+    EWK_POLICY_NAVIGATION_TYPE_FORM_RESUBMITTED = 4, /**< Form resubmitted */
+    EWK_POLICY_NAVIGATION_TYPE_OTHER = 5 /**< Other */
 };
-typedef enum _Ewk_Policy_Navigation_Type Ewk_Policy_Navigation_Type;
 
 /**
- * Returns cookie from Policy Decision object.
- *
- * @param policy_decision policy decision object
- *
- * @return @c cookie string on success or empty string on failure
+ * @brief Enumeration that creates a type name for #Ewk_Policy_Navigation_Type.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
-EXPORT_API const char* ewk_policy_decision_cookie_get(const Ewk_Policy_Decision* policy_decision);
+typedef enum _Ewk_Policy_Navigation_Type Ewk_Policy_Navigation_Type;
 
 /**
- * Returns user id for Authorization from Policy Decision object.
- *
- * @param policy_decision policy decision object
+ * @brief Returns a cookie from the Policy Decision object.
  *
- * @return @c user id string on success or empty string on failure
- */
-EXPORT_API const char* ewk_policy_decision_userid_get(const Ewk_Policy_Decision* policy_decision);
-
-/**
- * Returns password for Authorization from Policy Decision object.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param policy_decision policy decision object
+ * @param[in] policy_decision The policy decision object
  *
- * @return @c password string on success or empty string on failure
+ * @return The cookie string on success,\n
+ *         otherwise an empty string on failure
  */
-EXPORT_API const char* ewk_policy_decision_password_get(const Ewk_Policy_Decision* policy_decision);
+EXPORT_API const char* ewk_policy_decision_cookie_get(const Ewk_Policy_Decision* policy_decision);
 
-// This is not const, because we populate url from GURL on the fly.
 /**
- * Returns url from Policy Decision object.
+ * @brief Returns a URL from the Policy Decision object.
  *
- * @param policy_decision policy decision object
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @return @c url string on success or empty string on failure
+ * @param[in] policy_decision The policy decision object
+ *
+ * @return The URL string on success,\n
+ *         otherwise an empty string on failure
  */
 EXPORT_API const char* ewk_policy_decision_url_get(Ewk_Policy_Decision* policy_decision);
 
-// This is not const, because we populate url from GURL on the fly.
 /**
- * Returns scheme from Policy Decision object.
+ * @brief Returns a scheme from the Policy Decision object.
+ *
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param policy_decision policy decision object
+ * @param[in] policy_decision The policy decision object
  *
- * @return @c scheme string on success or empty string on failure
+ * @return The scheme string on success,\n
+ *         otherwise an empty string on failure
  */
 EXPORT_API const char* ewk_policy_decision_scheme_get(Ewk_Policy_Decision* policy_decision);
 
-// This is not const, because we populate url from GURL on the fly.
 /**
- * Returns host from Policy Decision object.
+ * @brief Returns a host from the Policy Decision object.
  *
- * @param policy_decision policy decision object
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @return @c host string on success or empty string on failure
+ * @param[in] policy_decision The policy decision object
+ *
+ * @return The host string on success,\n
+ *         otherwise an empty string on failure
  */
 EXPORT_API const char* ewk_policy_decision_host_get(Ewk_Policy_Decision* policy_decision);
 
 /**
- * Returns http method from Policy Decision object.
+ * @brief Returns an HTTP method from the Policy Decision object.
+ *
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param policy_decision policy decsision object
+ * @param[in] policy_decision The policy decision object
  *
- * @return @c http method string on success or empty string on failure
+ * @return The HTTP method string on success,\n
+ *         otherwise an empty string on failure
  */
-EXPORT_API const char* ewk_policy_decision_http_method_get(Ewk_Policy_Decision* policyDecision);
+EXPORT_API const char* ewk_policy_decision_http_method_get(Ewk_Policy_Decision* policy_decision);
 
 /**
- * Returns mimetype for response data from Policy Decision object.
+ * @brief Returns a MIME type for response data from the Policy Decision object.
  *
- * @param policy_decision policy decision object
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @return @c mimetype string on success or empty string on failure
+ * @param[in] policy_decision policy decision object
+ *
+ * @return The MIME type string on success,\n
+ *         otherwise an empty string on failure
  */
 EXPORT_API const char* ewk_policy_decision_response_mime_get(const Ewk_Policy_Decision* policy_decision);
 
 /**
- * Returns http headers for response data from Policy Decision object.
+ * @brief Return HTTP headers for response data from the Policy Decision object.
+ *
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param policy_decision policy decision object
+ * @param[in] policy_decision The policy decision object
  *
- * @return @c http headers on success or NULL on failure
+ * @return The HTTP headers on success,\n
+ *         otherwise @c NULL on failure
  */
 EXPORT_API const Eina_Hash* ewk_policy_decision_response_headers_get(const Ewk_Policy_Decision* policy_decision);
 
 /**
- * Returns http status code from Policy Decision object.
+ * @brief Returns an HTTP status code from the Policy Decision object.
  *
- * @param policy_decision policy decision object
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @return @c http status code number
- */
-EXPORT_API int ewk_policy_decision_response_status_code_get(const Ewk_Policy_Decision* policyDecision);
-
-/**
- * Returns policy type from Policy Decision object.
- *
- * @param policy_decision policy decision object
+ * @param[in] policy_decision The policy decision object
  *
- * @return @c policy type
+ * @return The HTTP status code number
  */
-EXPORT_API Ewk_Policy_Decision_Type ewk_policy_decision_type_get(const Ewk_Policy_Decision* policy_decision);
+EXPORT_API int ewk_policy_decision_response_status_code_get(const Ewk_Policy_Decision* policy_decision);
 
 /**
- * Suspend the operation for policy decision.
+ * @brief Returns a policy type from the Policy Decision object.
  *
- * This suspends the operation for policy decision when the signal for policy is emitted.
- * This is very useful to decide the policy from the additional UI operation like the popup.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param policy_decision policy decision object
+ * @param[in] policy_decision The policy decision object
  *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ * @return The policy type
  */
-EXPORT_API Eina_Bool ewk_policy_decision_suspend(Ewk_Policy_Decision* policy_decision);
+EXPORT_API Ewk_Policy_Decision_Type ewk_policy_decision_type_get(const Ewk_Policy_Decision* policy_decision);
 
 /**
- * Accept the action which triggers this decision.
+ * @brief Accepts the action which triggers this decision.
+ *
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param policy_decision policy decision object
+ * @param[in] policy_decision The policy decision object
  *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ * @return @c EINA_TRUE on success,\n
+ *         otherwise @c EINA_FALSE on failure
  */
 EXPORT_API Eina_Bool ewk_policy_decision_use(Ewk_Policy_Decision* policy_decision);
 
 /**
- * Ignore the action which triggers this decision.
+ * @brief Ignores the action which triggers this decision.
  *
- * @param policy_decision policy decision object
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ * @param[in] policy_decision The policy decision object
+ *
+ * @return @c EINA_TRUE on success,\n
+ *         otherwise @c EINA_FALSE on failure
  */
 EXPORT_API Eina_Bool ewk_policy_decision_ignore(Ewk_Policy_Decision* policy_decision);
 
 /**
- * Cause a download from this decision.
+ * @brief Returns a navigation type from the Policy Decision object.
  *
- * @param policy_decision policy decision object
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EXPORT_API Eina_Bool ewk_policy_decision_download(Ewk_Policy_Decision* policy_decision);
-
-/**
- * Returns navigation type from Policy Decision object.
+ * @param[in] policy_decision The policy decision object
  *
- * @param policy_decision policy decision object
- *
- * @return @c navigation type
+ * @return The navigation type
  */
 EXPORT_API Ewk_Policy_Navigation_Type ewk_policy_decision_navigation_type_get(const Ewk_Policy_Decision* policy_decision);
 
 /**
- * Gets the frame reference from Policy Decision object.
- *
- * @param policy_decision policy decision object
- *
- * @return frame reference on success, or NULL on failure
- */
-EXPORT_API Ewk_Frame_Ref ewk_policy_decision_frame_get(Ewk_Policy_Decision* policy_decision);
-
-/**
- * Checks if frame requested in policy decision is main frame.
- *
- * @param policy_decision policy decision object
- *
- * @return @c EINA_TRUE or @c EINA_FALSE
- */
-EXPORT_API Eina_Bool ewk_policy_decision_is_main_frame(const Ewk_Policy_Decision* policy_decision);
+* @}
+*/
 
 #ifdef __cplusplus
 }
diff --git a/tizen_src/ewk/efl_integration/public/ewk_policy_decision_internal.h b/tizen_src/ewk/efl_integration/public/ewk_policy_decision_internal.h
new file mode 100644 (file)
index 0000000..7be6577
--- /dev/null
@@ -0,0 +1,90 @@
+/*
+   Copyright (C) 2016 Samsung Electronics
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public License
+    along with this library; see the file COPYING.LIB.  If not, write to
+    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+    Boston, MA 02110-1301, USA.
+*/
+
+#ifndef ewk_policy_decision_internal_h
+#define ewk_policy_decision_internal_h
+
+#include "ewk_frame_internal.h"
+#include "ewk_policy_decision.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * Returns user id for Authorization from Policy Decision object.
+ *
+ * @param policy_decision policy decision object
+ *
+ * @return @c user id string on success or empty string on failure
+ */
+EXPORT_API const char* ewk_policy_decision_userid_get(const Ewk_Policy_Decision* policy_decision);
+
+/**
+ * Returns password for Authorization from Policy Decision object.
+ *
+ * @param policy_decision policy decision object
+ *
+ * @return @c password string on success or empty string on failure
+ */
+EXPORT_API const char* ewk_policy_decision_password_get(const Ewk_Policy_Decision* policy_decision);
+
+/**
+ * Suspend the operation for policy decision.
+ *
+ * This suspends the operation for policy decision when the signal for policy is emitted.
+ * This is very useful to decide the policy from the additional UI operation like the popup.
+ *
+ * @param policy_decision policy decision object
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_policy_decision_suspend(Ewk_Policy_Decision* policy_decision);
+
+/**
+ * Cause a download from this decision.
+ *
+ * @param policy_decision policy decision object
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_policy_decision_download(Ewk_Policy_Decision* policy_decision);
+
+/**
+ * Gets the frame reference from Policy Decision object.
+ *
+ * @param policy_decision policy decision object
+ *
+ * @return frame reference on success, or NULL on failure
+ */
+EXPORT_API Ewk_Frame_Ref ewk_policy_decision_frame_get(Ewk_Policy_Decision* policy_decision);
+
+/**
+ * Checks if frame requested in policy decision is main frame.
+ *
+ * @param policy_decision policy decision object
+ *
+ * @return @c EINA_TRUE or @c EINA_FALSE
+ */
+EXPORT_API Eina_Bool ewk_policy_decision_is_main_frame(const Ewk_Policy_Decision* policy_decision);
+
+#ifdef __cplusplus
+}
+#endif
+#endif // ewk_policy_decision_internal_h
index bc5a779..1408441 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "ewk_popup_menu_item.h"
+#include "ewk_popup_menu_item_internal.h"
 #include "private/ewk_private.h"
 
 Ewk_Popup_Menu_Item_Type ewk_popup_menu_item_type_get(const Ewk_Popup_Menu_Item* item)
  */
 
 /**
- * @file    ewk_popup_menu_item.h
+ * @file    ewk_popup_menu_item_internal.h
  * @brief   Describes the Ewk Popup Menu Item API.
  */
 
-#ifndef ewk_popup_menu_item_h
-#define ewk_popup_menu_item_h
+#ifndef ewk_popup_menu_item_internal_h
+#define ewk_popup_menu_item_internal_h
 
 #include <Eina.h>
 #include <tizen.h>
@@ -83,4 +83,4 @@ EXPORT_API Eina_Bool ewk_popup_menu_item_selected_get(const Ewk_Popup_Menu_Item
 #ifdef __cplusplus
 }
 #endif
-#endif // ewk_popup_menu_item_h
+#endif // ewk_popup_menu_item_internal_h
index 964dc9b..9a4944c 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "ewk_quota_permission_request.h"
+#include "ewk_quota_permission_request_internal.h"
 #include "private/ewk_quota_permission_request_private.h"
 
 EXPORT_API Eina_Stringshare* ewk_quota_permission_request_origin_protocol_get(const Ewk_Quota_Permission_Request* request)
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef ewk_quota_permission_request_h
-#define ewk_quota_permission_request_h
+#ifndef ewk_quota_permission_request_internal_h
+#define ewk_quota_permission_request_internal_h
 
 #include <stdint.h>
 #include <Eina.h>
@@ -63,4 +63,4 @@ EXPORT_API Eina_Bool ewk_quota_permission_request_is_persistent_get(const Ewk_Qu
 #ifdef __cplusplus
 }
 #endif
-#endif // ewk_quota_permission_request_h
+#endif // ewk_quota_permission_request_internal_h
index e5779e9..5c652b4 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "ewk_security_origin.h"
+#include "ewk_security_origin_internal.h"
 #include "private/ewk_security_origin_private.h"
 
 /*
index b310377..174ab70 100644 (file)
@@ -1,6 +1,26 @@
-// Copyright 2013 Samsung Electronics. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
+/*
+ * Copyright (C) 2016 Samsung Electronics
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this program; see the file COPYING.LIB.  If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+/**
+ * @file    ewk_security_origin.h
+ * @brief   This file describes the Ewk Security API.
+ */
 
 #ifndef ewk_security_origin_h
 #define ewk_security_origin_h
 extern "C" {
 #endif
 
-typedef struct _Ewk_Security_Origin Ewk_Security_Origin;
-
 /**
- * Requests for getting host of security origin.
- *
- * @param origin security origin
- *
- * @return host of security origin
+ * @addtogroup WEBVIEW
+ * @{
  */
-EXPORT_API Eina_Stringshare* ewk_security_origin_host_get(const Ewk_Security_Origin* origin);
 
 /**
- * Requests for getting host of security origin.
- *
- * @param origin security origin
- *
- * @return host of security origin
+ * @brief The structure type that creates a type name for #Ewk_Security_Origin.
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
  */
-EXPORT_API Eina_Stringshare* ewk_security_origin_protocol_get(const Ewk_Security_Origin* origin);
+typedef struct _Ewk_Security_Origin Ewk_Security_Origin;
 
 /**
- * Requests for getting host of security origin.
+ * @brief Requests for getting host of security origin.
+ *
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
  *
- * @param origin security origin
+ * @param[in] origin Security origin
  *
  * @return host of security origin
  */
-EXPORT_API uint16_t ewk_security_origin_port_get(const Ewk_Security_Origin* origin);
+EXPORT_API Eina_Stringshare* ewk_security_origin_host_get(const Ewk_Security_Origin* origin);
 
 /**
- * Release all resources allocated by a security origin object.
+ * @brief Requests for getting host of security origin.
  *
- * @param o security origin object
- */
-EXPORT_API void ewk_security_origin_free(Ewk_Security_Origin *o);
-
-/**
- * Creates a security origin for a url.
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
  *
- * @param url the url for the security origin.
+ * @param[in] origin Security origin
  *
- * @return the security origin object
+ * @return host of security origin
  */
-EXPORT_API Ewk_Security_Origin *ewk_security_origin_new_from_string(const char *url);
+EXPORT_API Eina_Stringshare* ewk_security_origin_protocol_get(const Ewk_Security_Origin* origin);
 
+/**
+* @}
+*/
 
 #ifdef __cplusplus
 }
diff --git a/tizen_src/ewk/efl_integration/public/ewk_security_origin_internal.h b/tizen_src/ewk/efl_integration/public/ewk_security_origin_internal.h
new file mode 100644 (file)
index 0000000..399de3c
--- /dev/null
@@ -0,0 +1,57 @@
+/*
+   Copyright (C) 2016 Samsung Electronics
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public License
+    along with this library; see the file COPYING.LIB.  If not, write to
+    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+    Boston, MA 02110-1301, USA.
+*/
+
+#ifndef ewk_security_origin_internal_h
+#define ewk_security_origin_internal_h
+
+#include "ewk_security_origin.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * Requests for getting host of security origin.
+ *
+ * @param origin security origin
+ *
+ * @return host of security origin
+ */
+EXPORT_API uint16_t ewk_security_origin_port_get(const Ewk_Security_Origin* origin);
+
+/**
+ * Release all resources allocated by a security origin object.
+ *
+ * @param o security origin object
+ */
+EXPORT_API void ewk_security_origin_free(Ewk_Security_Origin *o);
+
+/**
+ * Creates a security origin for a url.
+ *
+ * @param url the url for the security origin.
+ *
+ * @return the security origin object
+ */
+EXPORT_API Ewk_Security_Origin *ewk_security_origin_new_from_string(const char *url);
+
+#ifdef __cplusplus
+}
+#endif
+#endif // ewk_security_origin_internal_h
index a036165..273f0b4 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "ewk_settings.h"
+#include "ewk_settings_product.h"
 
 #include "eweb_view.h"
 #include "ui/events/gesture_detection/gesture_configuration.h"
index 697c763..9cd94a2 100644 (file)
@@ -1,13 +1,35 @@
-// Copyright 2013 Samsung Electronics. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
+/*
+ * Copyright (C) 2016 Samsung Electronics
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
 
 /**
  * @file    ewk_settings.h
- * @brief   Describes the settings API.
+ * @brief   This file describes the Ewk Settings API.
  *
- * @note The ewk_settings is for setting the preference of specific ewk_view.
- * We can get the ewk_settings from ewk_view using ewk_view_settings_get() API.
+ * @remarks The ewk_settings is used for setting the preference of a specific
+ *          ewk_view. We can get the ewk_settings from ewk_view using
+ *          the ewk_view_settings_get() API.
  */
 
 #ifndef ewk_settings_h
 extern "C" {
 #endif
 
-/** Creates a type name for Ewk_Settings */
-typedef struct Ewk_Settings Ewk_Settings;
-
-/**
- * Creates a type name for the callback function used to notify the client when
- * the continuous spell checking setting was changed by WebKit.
- *
- * @param enable @c EINA_TRUE if continuous spell checking is enabled or @c EINA_FALSE if it's disabled
- */
-typedef void (*Ewk_Settings_Continuous_Spell_Checking_Change_Cb)(Eina_Bool enable);
-
-/**
- * \enum    _Ewk_Editable_Link_Behavior
- *
- * @brief   Editable link behavior mode (Must remain in sync with WKEditableLinkBehavior)
- */
-enum _Ewk_Editable_Link_Behavior {
-    EWK_EDITABLE_LINK_BEHAVIOR_DEFAULT,
-    EWK_EDITABLE_LINK_BEHAVIOR_ALWAYS_LIVE,
-    EWK_EDITABLE_LINK_BEHAVIOR_ONLY_LIVE_WITH_SHIFTKEY,
-    EWK_EDITABLE_LINK_BEHAVIOR_LIVE_WHEN_NOT_FOCUSED,
-    EWK_EDITABLE_LINK_BEHAVIOR_NEVER_LIVE
-};
-typedef enum _Ewk_Editable_Link_Behavior Ewk_Editable_Link_Behavior;
-
-enum _Ewk_Legacy_Font_Size_Mode {
-    EWK_LEGACY_FONT_SIZE_MODE_ALWAYS,
-    EWK_LEGACY_FONT_SIZE_MODE_ONLY_IF_PIXEL_VALUES_MATCH,
-    EWK_LEGACY_FONT_SIZE_MODE_NEVER
-};
-
-typedef enum _Ewk_Legacy_Font_Size_Mode Ewk_Legacy_Font_Size_Mode;
-
-enum _Ewk_List_Style_Position {
-    EWK_LIST_STYLE_POSITION_OUTSIDE, /**< Default WebKit value. */
-    EWK_LIST_STYLE_POSITION_INSIDE
-};
-typedef enum _Ewk_List_Style_Position Ewk_List_Style_Position;
-
-/*
- * Enables/disables the Javascript Fullscreen API. The Javascript API allows
- * to request full screen mode, for more information see:
- * http://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html
- *
- * Default value for Javascript Fullscreen API setting is @c EINA_TRUE .
- *
- * @param settings settings object to enable Javascript Fullscreen API
- * @param enable @c EINA_TRUE to enable Javascript Fullscreen API or
- *               @c EINA_FALSE to disable
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EXPORT_API Eina_Bool ewk_settings_fullscreen_enabled_set(Ewk_Settings *settings, Eina_Bool enable);
-
-/**
- * Returns whether the Javascript Fullscreen API is enabled or not.
- *
- * @param settings settings object to query whether Javascript Fullscreen API is enabled
- *
- * @return @c EINA_TRUE if the Javascript Fullscreen API is enabled
- *         @c EINA_FALSE if not or on failure
- */
-EXPORT_API Eina_Bool ewk_settings_fullscreen_enabled_get(const Ewk_Settings *settings);
-
-/**
- * Enables/disables the javascript executing.
- *
- * @param settings settings object to set javascript executing
- * @param enable @c EINA_TRUE to enable javascript executing
- *        @c EINA_FALSE to disable
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EXPORT_API Eina_Bool ewk_settings_javascript_enabled_set(Ewk_Settings *settings, Eina_Bool enable);
-
-/**
- * Returns the javascript can be executable or not.
- *
- * @param settings settings object to query if the javascript can be executed
- *
- * @return @c EINA_TRUE if the javascript can be executed
- *         @c EINA_FALSE if not or on failure
- */
-EXPORT_API Eina_Bool ewk_settings_javascript_enabled_get(const Ewk_Settings *settings);
-
-/**
- * Enables/disables auto loading of the images.
- *
- * @param settings settings object to set auto loading of the images
- * @param automatic @c EINA_TRUE to enable auto loading of the images,
- *        @c EINA_FALSE to disable
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EXPORT_API Eina_Bool ewk_settings_loads_images_automatically_set(Ewk_Settings *settings, Eina_Bool automatic);
-
-/**
- * Returns the images can be loaded automatically or not.
- *
- * @param settings settings object to get auto loading of the images
- *
- * @return @c EINA_TRUE if the images are loaded automatically,
- *         @c EINA_FALSE if not or on failure
- */
-EXPORT_API Eina_Bool ewk_settings_loads_images_automatically_get(const Ewk_Settings *settings);
-
-/**
- * Requests enables/disables the plug-ins.
- *
- * @param settings settings object to set the plug-ins
- * @param enable @c EINA_TRUE to enable the plug-ins
- *        @c EINA_FALSE to disable
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EXPORT_API Eina_Bool ewk_settings_plugins_enabled_set(Ewk_Settings *settings, Eina_Bool enable);
-
-/**
- * Returs enables/disables the plug-ins.
- *
- * @param settings settings object to set the plug-ins
-*
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EXPORT_API Eina_Bool ewk_settings_plugins_enabled_get(const Ewk_Settings *settings);
-
-/**
- * Requests setting of auto fit.
- *
- * @param settings settings object to fit to width
- * @param enable to fit to width.
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EXPORT_API Eina_Bool ewk_settings_auto_fitting_set(Ewk_Settings *settings, Eina_Bool enable);
-
 /**
- * Returns the auto fit status.
- *
- * @param settings settings object to fit to width
- *
- * @return @c EINA_TRUE if enable auto fit or @c EINA_FALSE.
- */
-EXPORT_API Eina_Bool ewk_settings_auto_fitting_get(const Ewk_Settings *settings);
-
-/**
- * Requests setting of force zoom.
- *
- * @param settings settings object to enable force zoom
- * @param enable to force zoom
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EXPORT_API Eina_Bool ewk_settings_force_zoom_set(Ewk_Settings *settings, Eina_Bool enable);
-
-/**
- * Returns the force zoom status.
- *
- * @param settings settings object to enable force zoom
- *
- * @return @c EINA_TRUE if enable force zoom or @c EINA_FALSE.
- */
-EXPORT_API Eina_Bool ewk_settings_force_zoom_get(const Ewk_Settings *settings);
-
-/**
- * Requests to set the default font size.
- *
- * @param settings settings object to set the default font size
- * @param size a new default font size to set
- *
- * @return @c EINA_TRUE on success @c EINA_FALSE otherwise
+ * @addtogroup WEBVIEW
+ * @{
  */
-EXPORT_API Eina_Bool ewk_settings_font_default_size_set(Ewk_Settings *settings, int size);
 
 /**
- * Returns the default font size.
- *
- * @param settings settings object to set the default font size
- *
- * @return @c default font size.
+ * @brief The structure type that creates a type name for #Ewk_Settings.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
-EXPORT_API int ewk_settings_font_default_size_get(const Ewk_Settings *settings);
-
-/**
- * Requests enables/disables if the scripts can open the new windows.
- *
- * @param settings settings object to set if the scripts can open the new windows
- * @param allow @c EINA_TRUE if the scripts can open the new windows
- *        @c EINA_FALSE if not
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure (scripts are disabled)
- */
-EXPORT_API Eina_Bool ewk_settings_scripts_window_open_set(Ewk_Settings *settings, Eina_Bool allow);
-
-/**
- * Returns enables/disables if the scripts can open the new windows.
- *
- * @param settings settings object to set if the scripts can open the new windows
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure (scripts are disabled)
- */
-EXPORT_API Eina_Bool ewk_settings_scripts_window_open_get(const Ewk_Settings *settings);
-
-/**
- * Requests for drawing layer borders.
- *
- * @param settings settings object to drawing layer borders.
- * @param enable EINA_TRUE to draw layer borders.
- *
- * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
- */
-
-EXPORT_API Eina_Bool ewk_settings_compositing_borders_visible_set(Ewk_Settings *settings, Eina_Bool enable);
-
-/**
- * Checks whether WebKit supports the @a encoding.
- *
- * @param encoding the encoding string to check whether WebKit supports it
- *
- * @return @c EINA_TRUE if WebKit supports @a encoding or @c EINA_FALSE if not or
- *      on failure
- */
-EXPORT_API Eina_Bool ewk_settings_is_encoding_valid(const char* encoding);
-
-/**
- * Requests to set default text encoding name.
- *
- * @param settings settings object to set default text encoding name
- * @param encoding default text encoding name
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EXPORT_API Eina_Bool ewk_settings_default_encoding_set(Ewk_Settings *settings, const char* encoding);
-
-/**
- * Returns default text encoding name.
- *
- * @param settings settings object to query default text encoding nae
- *
- * @return default text encoding name
- */
-EXPORT_API const char* ewk_settings_default_encoding_get(const Ewk_Settings *settings);
-
-/**
- * Requests enables/disables private browsing.
- *
- * @param settings settings object to set private browsing
- * @param enable @c EINA_TRUE to enable private browsing
- *        @c EINA_FALSE to disable
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EINA_DEPRECATED EXPORT_API Eina_Bool ewk_settings_private_browsing_enabled_set(Ewk_Settings *settings, Eina_Bool enable);
-
-/**
- * Returns enables/disables private browsing.
- *
- * @param settings settings object to query if private browsing was enabled
- *
- * @return @c EINA_TRUE if private browsing was enabled
- *         @c EINA_FALSE if not or on failure
- */
-EINA_DEPRECATED EXPORT_API Eina_Bool ewk_settings_private_browsing_enabled_get(const Ewk_Settings *settings);
-
-/**
- * Requests to set editable link behavior.
- *
- * @param settings settings object to set editable link behavior
- * @param behavior editable link behaviro
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EXPORT_API Eina_Bool ewk_settings_editable_link_behavior_set(Ewk_Settings *settings, Ewk_Editable_Link_Behavior behavior);
-
-/**
- * Requests to set the load remote images enable/disable
- *
- * @param settings settings object to set load remote images
- *
- * @param loadRemoteImages @c EINA_TRUE to enable the load remote images
- *        @c EINA_FALSE to disable
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EXPORT_API Eina_Bool ewk_settings_load_remote_images_set(Ewk_Settings *settings, Eina_Bool loadRemoteImages);
-/**
- * Returns enable/disable the load remote images
- *
- * @param settings settings object to get editable link behavior
- *
- * @return @c EINA_TRUE on enable or @c EINA_FALSE on disable
- */
-EXPORT_API Eina_Bool ewk_settings_load_remote_images_get(const Ewk_Settings *settings);
-
-/**
- * Sets link magnifier enabled.
- *
- * @param settings settings object
- * @param enabled link magnifier enabled
- */
-EXPORT_API void ewk_settings_link_magnifier_enabled_set(Ewk_Settings *settings, Eina_Bool enabled);
-
-/**
- * Gets link magnifier enabled.
- *
- * @param settings settings object
- *
- * @return @c EINA_TRUE if link magnifier enabled, @c EINA_FALSE otherwise
- */
-EXPORT_API Eina_Bool ewk_settings_link_magnifier_enabled_get(const Ewk_Settings *settings);
-
-/**
- * Requests to enable/disable link effect
- *
- * @param settings settings object to enable/disable link effect
- *
- * @param linkEffectEnabled @c EINA_TRUE to enable the link effect
- *        @c EINA_FALSE to disable
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EXPORT_API Eina_Bool ewk_settings_link_effect_enabled_set(Ewk_Settings *settings, Eina_Bool linkEffectEnabled);
-
-/**
- * Returns enable/disable link effect
- *
- * @param settings settings object to get whether link effect is enabled or disabled
- *
- * @return @c EINA_TRUE on enable or @c EINA_FALSE on disable
- */
-EXPORT_API Eina_Bool ewk_settings_link_effect_enabled_get(const Ewk_Settings *settings);
-
-/**
- * Requests to set the scan malware enable/disable.
- *
- * @param settings settings object to set scan malware
- *
- * @param scan_malware_enabled @c EINA_TRUE to enable the scan malware
- *        @c EINA_FALSE to disable
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EXPORT_API Eina_Bool ewk_settings_scan_malware_enabled_set(Ewk_Settings *settings, Eina_Bool scan_malware_enabled);
-
-/**
- * Requests to set the spdy enable/disable.
- *
- * @param settings settings object to set spdy on soup
- *
- * @param spdy_enabled @c EINA_TRUE to enable the spdy on soup
- *        @c EINA_FALSE to disable
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EXPORT_API Eina_Bool ewk_settings_spdy_enabled_set(Ewk_Settings *settings, Eina_Bool spdy_enabled);
-
-/**
- * Requests to set the performance features of soup enable/disable.
- *
- * @param settings settings object to set performance features on soup
- *
- * @param spdy_enabled @c EINA_TRUE to enable the performance features on soup
- *        @c EINA_FALSE to disable
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EXPORT_API Eina_Bool ewk_settings_performance_features_enabled_set(Ewk_Settings *settings, Eina_Bool performance_features_enabled);
-
-/**
- * Requests to set using encoding detector.
- *
- * @param settings settings object to set using encoding detector
- * @param use use encoding detector
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EXPORT_API Eina_Bool ewk_settings_uses_encoding_detector_set(Ewk_Settings *settings, Eina_Bool use);
-
-/**
- * Returns uses encoding detector.
- *
- * @param settings settings object to query uses encoding detector
- *
- * @return uses encoding detector
- */
-EXPORT_API Eina_Bool ewk_settings_uses_encoding_detector_get(const Ewk_Settings *settings);
-
-/**
- * Requests to set using default keypad (default value : true)
- *
- * @param settings settings object to use default keypad
- * @param enable @c EINA_TRUE to use default keypad  @c EINA_FALSE to disable
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EXPORT_API Eina_Bool ewk_settings_default_keypad_enabled_set(Ewk_Settings *settings, Eina_Bool enable);
-
-/**
- * Returns enable/disable using default keypad
- *
- * @param settings settings object to use default keypad
- *
- * @return @c EINA_TRUE on enable or @c EINA_FALSE on disable
- */
-EXPORT_API Eina_Bool ewk_settings_default_keypad_enabled_get(const Ewk_Settings *settings);
-
-/**
- * Requests to set using keypad without user action (default value : true)
- *
- * @param settings settings object using keypad without user action
- * @param enable @c EINA_TRUE to use without user action @c EINA_FALSE to disable
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EXPORT_API Eina_Bool ewk_settings_uses_keypad_without_user_action_set(Ewk_Settings *settings, Eina_Bool enable);
-
-/**
- * Returns using keypad without user action
- *
- * @param settings settings object using keypad without user action
- * @param settings settings object to query using keypad without user action
- *
- * @return @c EINA_TRUE on enable or @c EINA_FALSE on disable
- */
-EXPORT_API Eina_Bool ewk_settings_uses_keypad_without_user_action_get(const Ewk_Settings *settings);
-
-
-/**
- * Requests setting use of text zoom.
- *
- * @param settings settings object to text zoom
- * @param enable to text zoom.
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EXPORT_API Eina_Bool ewk_settings_text_zoom_enabled_set(Ewk_Settings *settings, Eina_Bool enable);
+typedef struct Ewk_Settings Ewk_Settings;
 
 /**
- * Returns whether text zoom is enabled or not.
- *
- * @param settings settings object to text zoom
+ * @if MOBILE
+ * @brief Requests enable/disable password form autofill
  *
- * @return @c EINA_TRUE if enable text zoom or @c EINA_FALSE.
- */
-EXPORT_API Eina_Bool ewk_settings_text_zoom_enabled_get(const Ewk_Settings *settings);
-
-/**
- * Requests enable/disable password form autofill
+ * @since_tizen 2.4
  *
- * @param setting setting object to set password form autofill
- * @param enable @c EINA_TRUE to enable password form autofill
- *        @c EINA_FALSE to disable
+ * @param[in] setting Setting object to set password form autofill
+ * @param[in] enable @c EINA_TRUE to enable password form autofill
+ *                   @c EINA_FALSE to disable
  *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ * @return @c EINA_TRUE on success, otherwise @c EINA_FALSE
+ * @endif
  */
 EXPORT_API Eina_Bool ewk_settings_autofill_password_form_enabled_set(Ewk_Settings* settings, Eina_Bool enable);
 
 /**
- * Returns if password form autofill is enabled or disabled.
+ * @if MOBILE
+ * @brief Requests enable/disable form candidate data for autofill
  *
- * @param setting setting object to get password form autofill
+ * @since_tizen 2.4
  *
- * @return @c EINA_TRUE if password form autofill is enabled
- *         @c EINA_FALSE if password form autofill is disabled
- */
-EXPORT_API Eina_Bool ewk_settings_autofill_password_form_enabled_get(Ewk_Settings* settings);
-
-/**
- * Requests enable/disable form candidate data for autofill
+ * @param[in] setting Setting object to set form candidate data for autofill
+ * @param[in] enable @c EINA_TRUE to enable form candidate data for autofill
+ *                   @c EINA_FALSE to disable
  *
- * @param setting setting object to set form candidate data for autofill
- * @param enable @c EINA_TRUE to enable form candidate data for autofill
- *        @c EINA_FALSE to disable
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ * @return @c EINA_TRUE on success, otherwise  @c EINA_FALSE
+ * @endif
  */
 EXPORT_API Eina_Bool ewk_settings_form_candidate_data_enabled_set(Ewk_Settings* settings, Eina_Bool enable);
 
 /**
- * Returns if form candidate data for autofill is enabled or disabled.
+ * @if MOBILE
+ * @brief Enables/disables form autofill profile feature.
  *
- * @param setting setting object to get form candidate data for autofill
+ * @since_tizen 2.4
  *
- * @return @c EINA_TRUE if form candidate data for autofill is enabled
- *         @c EINA_FALSE if form candidate data for autofill is disabled
- */
-EXPORT_API Eina_Bool ewk_settings_form_candidate_data_enabled_get(Ewk_Settings* settings);
-
-/**
- * Enables/disables form autofill profile feature.
- *
- * By default, form autofill profile is disabled.
- *
- * @param settings settings object to set the form autofill profile
- * @param enable @c EINA_TRUE to enable the text autosizing
- *               @c EINA_FALSE to disable
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ * @param[in] settings Settings object to set the form autofill profile
+ * @param[in] enable @c EINA_TRUE to enable the text autosizing
+ *                   @c EINA_FALSE to disable
  *
- * @see ewk_settings_form_profile_data_enabled_get()
+ * @return @c EINA_TRUE on success, otherwise @c EINA_FALSE
+ * @endif
  */
 EXPORT_API Eina_Bool ewk_settings_form_profile_data_enabled_set(Ewk_Settings *settings, Eina_Bool enable);
 
 /**
- * Returns whether the autofill_text feature is enabled.
- *
- * @param settings settings object to query whether autofill_text feature is enabled
- *
- * @return @c EINA_TRUE if the autofill_text feature is enabled
- *         @c EINA_FALSE if not or on failure
- */
-EXPORT_API Eina_Bool ewk_settings_form_profile_data_enabled_get(const Ewk_Settings *settings);
-
-/**
- * Requests enable/disable text selection by default WebKit.
- *
- * @param settings setting object to set text selection by default WebKit
- * @param enable @c EINA_TRUE to enable text selection by default WebKit
- *        @c EINA_FALSE to disable
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EXPORT_API Eina_Bool ewk_settings_text_selection_enabled_set(Ewk_Settings* settings, Eina_Bool enable);
-
-/**
- * Returns if text selection by default WebKit is enabled or disabled.
- *
- * @param settings setting object to get text selection by default WebKit
- *
- * @return @c EINA_TRUE if text selection by default WebKit is enabled
- *         @c EINA_FALSE if not or on failure
- */
-EXPORT_API Eina_Bool ewk_settings_text_selection_enabled_get(const Ewk_Settings* settings);
-
-/**
- * Requests enables/disables to clear text selection when webview lose focus
- *
- * @param settings setting object to set to clear text selection when webview lose focus
- * @param enable @c EINA_TRUE to clear text selection when webview lose focus
- *        @c EINA_FALSE to disable
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EXPORT_API Eina_Bool ewk_settings_clear_text_selection_automatically_set(Ewk_Settings* settings, Eina_Bool enable);
-
-/**
- * Returns whether text selection is cleared when webview lose focus or not.
- *
- * @param settings setting object to get whether text selection is cleared when webview lose focus or not
- *
- * @return @c EINA_TRUE if text selection is cleared when webview lose focus
- *         @c EINA_FALSE if not or on failure
- */
-EXPORT_API Eina_Bool ewk_settings_clear_text_selection_automatically_get(const Ewk_Settings* settings);
-
-/**
- * Enables/disables text autosizing.
- *
- * By default, the text autosizing is disabled.
+ * @if MOBILE
+ * @brief Requests setting of auto fit.
  *
- * @param settings settings object to set the text autosizing
- * @param enable @c EINA_TRUE to enable the text autosizing
- *               @c EINA_FALSE to disable
+ * @since_tizen 2.3
  *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ * @param[in] settings The settings object to fit to width
+ * @param[in] enable If @c true the settings object is fit to width,\n
+ *                   otherwise @c false
  *
- * @see ewk_settings_text_autosizing_enabled_get()
+ * @return @c EINA_TRUE on success,\n
+ *         otherwise @c EINA_FALSE on failure
+ * @endif
  */
-EXPORT_API Eina_Bool ewk_settings_text_autosizing_enabled_set(Ewk_Settings *settings, Eina_Bool enable);
+EXPORT_API Eina_Bool ewk_settings_auto_fitting_set(Ewk_Settings* settings, Eina_Bool enable);
 
 /**
- * Returns whether the text autosizing is enabled.
+ * @if MOBILE
+ * @brief Returns the auto fit status.
  *
- * The text autosizing is a feature which adjusts the font size of text in wide
- * columns, and makes text more legible.
+ * @since_tizen 2.3
  *
- * @param settings settings object to query whether text autosizing is enabled
+ * @param[in] settings The settings object to fit to width
  *
- * @return @c EINA_TRUE if the text autosizing is enabled
- *         @c EINA_FALSE if not or on failure
+ * @return @c EINA_TRUE if auto fit is enabled,\n
+ *         otherwise @c EINA_FALSE
+ * @endif
  */
-EXPORT_API Eina_Bool ewk_settings_text_autosizing_enabled_get(const Ewk_Settings *settings);
-
+EXPORT_API Eina_Bool ewk_settings_auto_fitting_get(const Ewk_Settings* settings);
 
 /**
- * Sets the scale factor for text autosizing.
+ * @brief Enables/disables JavaScript executing.
  *
- * Default value is 1.0.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param settings settings object to set the text autosizing
- * @param factor font scale factor for text autosizing
- */
-EXPORT_API Eina_Bool ewk_settings_text_autosizing_font_scale_factor_set(Ewk_Settings *settings, double factor);
-
-/**
- * Gets the current scale factor for text autosizing.
+ * @param[in] settings The settings object to set JavaScript executing
+ * @param[in] enable If @c EINA_TRUE JavaScript executing is enabled,\n
+ *                   otherwise @c EINA_FALSE to disable it
  *
- * @param settings settings object to set scale factor for text autosizing
- *
- * @return the current font scale factor for text autosizing.
- * In case of error, it returns non-positive value.
+ * @return @c EINA_TRUE on success,\n
+ *         otherwise @c EINA_FALSE on failure
  */
-EXPORT_API double ewk_settings_text_autosizing_font_scale_factor_get(const Ewk_Settings *settings);
+EXPORT_API Eina_Bool ewk_settings_javascript_enabled_set(Ewk_Settings* settings, Eina_Bool enable);
 
 /**
- * Requests to enable/disable edge effect
+ * @brief Returns whether JavaScript can be executable.
  *
- * @param settings settings object to enable/disable edge effect
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param enable @c EINA_TRUE to enable the edge effect
- *        @c EINA_FALSE to disable
+ * @param[in] settings The settings object to query if JavaScript can be
+ *            executed
  *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ * @return @c EINA_TRUE if JavaScript can be executed,\n
+ *         otherwise @c EINA_FALSE if not or on failure
  */
-EXPORT_API Eina_Bool ewk_settings_edge_effect_enabled_set(Ewk_Settings* settings, Eina_Bool enable);
+EXPORT_API Eina_Bool ewk_settings_javascript_enabled_get(const Ewk_Settings* settings);
 
 /**
- * Returns enable/disable edge effect
+ * @brief Enables/disables auto loading of images.
  *
- * @param settings settings object to get whether edge effect is enabled or disabled
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @return @c EINA_TRUE on enable or @c EINA_FALSE on disable
- */
-EXPORT_API Eina_Bool ewk_settings_edge_effect_enabled_get(const Ewk_Settings* settings);
-
-/**
- * Sets text style for selection mode enabled.
+ * @param[in] settings The settings object to set auto loading of images
+ * @param[in] automatic If @c EINA_TRUE auto loading of images is enabled,\n
+ *                      otherwise @c EINA_FALSE to disable it
  *
- * @param settings settings object
- * @param enabled text style for selection mode
+ * @return @c EINA_TRUE on success,\n
+ *         otherwise @c EINA_FALSE on failure
  */
+EXPORT_API Eina_Bool ewk_settings_loads_images_automatically_set(Ewk_Settings* settings, Eina_Bool automatic);
 
-EXPORT_API void ewk_settings_text_style_state_enabled_set(Ewk_Settings *settings, Eina_Bool enabled);
 /**
- * Gets text style for selection mode enabled.
- *
- * @param settings settings object
+ * @brief Returns whether images can be loaded automatically.
  *
- * @return @c EINA_TRUE if text style for selection mode enabled, @c EINA_FALSE otherwise
- */
-EXPORT_API Eina_Bool ewk_settings_text_style_state_enabled_get(const Ewk_Settings *settings);
-
-/**
- * Requests to enable/disable to select word by double tap
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param settings settings object to enable/disable to select word by double tap
- * @param enable @c EINA_TRUE to select word by double tap
- *        @c EINA_FALSE to disable
+ * @param[in] settings The settings object to get auto loading of images
  *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ * @return @c EINA_TRUE if images are loaded automatically,\n
+ *         otherwise @c EINA_FALSE if not or on failure
  */
-EXPORT_API Eina_Bool ewk_settings_select_word_automatically_set(Ewk_Settings *settings, Eina_Bool enabled);
+EXPORT_API Eina_Bool ewk_settings_loads_images_automatically_get(const Ewk_Settings* settings);
 
 /**
- * Returns enable/disable text selection by double tap
- *
- * @param settings settings object to get whether word by double tap is selected
+ * @brief Sets the default text encoding name.
  *
- * @return @c EINA_TRUE on enable or @c EINA_FALSE on disable
- */
-EXPORT_API Eina_Bool ewk_settings_select_word_automatically_get(const Ewk_Settings *settings);
-
-/**
- * Sets legacy font size mode
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param settings settings object
- * @param mode legacy font size mode
+ * @param[in] settings The settings object to set the default text encoding name
+ * @param[in] encoding The default text encoding name
  *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ * @return @c EINA_TRUE on success,\n
+ *         otherwise @c EINA_FALSE on failure
  */
-EXPORT_API Eina_Bool ewk_settings_current_legacy_font_size_mode_set(Ewk_Settings *settings, Ewk_Legacy_Font_Size_Mode mode);
+EXPORT_API Eina_Bool ewk_settings_default_text_encoding_name_set(Ewk_Settings* settings, const char* encoding);
 
 /**
- * Returns set legacy font size mode
+ * @brief Gets the default text encoding name.
  *
- * @param settings settings object
+ * @details The returned string is guaranteed to be stringshared.
  *
- * @return @c Ewk_Legacy_Font_Size_Mode set legacy font size mode
- */
-EXPORT_API Ewk_Legacy_Font_Size_Mode ewk_settings_current_legacy_font_size_mode_get(const Ewk_Settings *settings);
-
-/**
- * Sets to paste image as URI (default: paste as base64-encoded-data)
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param settings settings object
-* @param enable @c EINA_TRUE to paste image as URI    @c EINA_FALSE to paste image as data
+ * @param[in] settings The settings object to query the default text encoding
+ *            name
  *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ * @return The default text encoding name
  */
-EXPORT_API Eina_Bool ewk_settings_paste_image_uri_mode_set(Ewk_Settings *settings, Eina_Bool enabled);
+EXPORT_API const char* ewk_settings_default_text_encoding_name_get(Ewk_Settings* settings);
 
 /**
- * Returns whether  paste image as URI mode is enabled
+ * @brief Sets the default font size.
  *
- * @param settings settings object
+ * @details By default, the default font size is @c 16.
  *
- * @return @c EINA_TRUE on enable or @c EINA_FALSE on disable
- */
-EXPORT_API Eina_Bool ewk_settings_paste_image_uri_mode_get(const Ewk_Settings *settings);
-
-/**
- * Gets the initial position value for the HTML list element <ul></ul>.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param settings setting object to get the initial position value
+ * @param[in] settings The settings object to set the default font size
+ * @param[in] size A new default font size to set
  *
- * @return the initial position value for the HTML list element.
+ * @return @c EINA_TRUE on success,\n
+ *         otherwise @c EINA_FALSE on failure
  */
-EXPORT_API Ewk_List_Style_Position ewk_settings_initial_list_style_position_get(const Ewk_Settings* settings);
+EXPORT_API Eina_Bool ewk_settings_default_font_size_set(Ewk_Settings* settings, int size);
 
 /**
- * Sets the initial position value for the HTML list element <ul></ul>.
+ * @brief Returns the default font size.
  *
- * This value affect the lists that are going to be created,
- * does not make sense to manipulate it for existed elements.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param settings setting object to set the initial list style position
- * @param style a new style to set
+ * @param[in] settings The settings object to get the default font size
  *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ * @return The default font size,\n
+ *         otherwise @c 0 on failure
  */
-EXPORT_API Eina_Bool ewk_settings_initial_list_style_position_set(Ewk_Settings* settings, Ewk_List_Style_Position style);
+EXPORT_API int ewk_settings_default_font_size_get(const Ewk_Settings* settings);
 
 /**
- * Enable or disable supporting of -webkit-text-size-adjust
- *
- * -webkit-text-size-adjust affects text size adjusting feature.
+ * @if MOBILE
+ * @deprecated Deprecated since 2.4
  *
- * @param settings setting object to set the support of -webkit-text-size-adjust
- * @param enable @c EINA_TRUE to support -webkit-text-size-adjust, @c EINA_FALSE not to support
+ * @brief Requests to enable/disable private browsing.
  *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EXPORT_API Eina_Bool ewk_settings_webkit_text_size_adjust_enabled_set(Ewk_Settings* settings, Eina_Bool enabled);
-
-/**
- * Requests to enable/disable to detect email address when tapping on email address without link property
- *
- * @param settings settings object to enable/disable to detect email address when tapping on email address without link property
- *
- * @param enable @c EINA_TRUE to enable to detect email address when tapping on email address without link property
- *        @c EINA_FALSE to disable
- */
-EXPORT_API void ewk_settings_detect_contents_automatically_set(Ewk_Settings* settings, Eina_Bool enable);
-
-/**
- * Returns enable/disable to detect email address when tapping on email address without link property
- *
- * @param settings settings object to get whether email address is detected when tapping on email address without link property
- *
- * @return @c EINA_TRUE on enable or @c EINA_FALSE on disable
- */
-EXPORT_API Eina_Bool ewk_settings_detect_contents_automatically_get(const Ewk_Settings* settings);
-
-/**
- * Sets cache builder mode enabled.
- *
- * @param settings settings object
- * @param enabled cache builder mode
- */
-EXPORT_API void ewk_settings_cache_builder_enabled_set(Ewk_Settings *settings, Eina_Bool enabled);
-
-/**
- * Returns the default font size.
- *
- * @param settings settings object to get the default font size
- *
- * @return @c the default font size or @c 0 on failure
- */
-EXPORT_API int ewk_settings_default_font_size_get(const Ewk_Settings *settings);
-
-/**
- * Sets the default font size.
- *
- * By default, the default font size is @c 16.
+ * @since_tizen 2.3
  *
- * @param settings settings object to set the default font size
- * @param size a new default font size to set
+ * @param[in] settings The settings object to set private browsing
+ * @param[in] enable If @c EINA_TRUE private browsing is enabled\n
+ *                   otherwise @c EINA_FALSE to disable it
  *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ * @return @c EINA_TRUE on success,\n
+ *         otherwise @c EINA_FALSE on failure
+ * @endif
  */
-EXPORT_API Eina_Bool ewk_settings_default_font_size_set(Ewk_Settings *settings, int size);
+EXPORT_API Eina_Bool ewk_settings_private_browsing_enabled_set(Ewk_Settings* settings, Eina_Bool enable);
 
 /**
- * Gets the default text encoding name.
+ * @if MOBILE
+ * @deprecated Deprecated since 2.4
  *
- * @param settings settings object to get default text encoding name
+ * @brief Enables/disables private browsing.
  *
- * @return @c encoding default text encoding name
- */
-EXPORT_API const char* ewk_settings_default_text_encoding_name_get(Ewk_Settings *settings);
-
-/**
- * Sets the default text encoding name.
+ * @since_tizen 2.3
  *
- * @param settings settings object to set default text encoding name
- * @param encoding default text encoding name
+ * @param[in] settings The settings object to query if private browsing is
+ *            enabled
  *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ * @return @c EINA_TRUE if private browsing is enabled,\n
+ *         otherwise @c EINA_FALSE if not or on failure
+ * @endif
  */
-EXPORT_API Eina_Bool ewk_settings_default_text_encoding_name_set(Ewk_Settings *settings, const char *encoding);
+EXPORT_API Eina_Bool ewk_settings_private_browsing_enabled_get(const Ewk_Settings* settings);
 
 /**
- * Enables/disables the encoding detector.
+ * @brief Enables/disables if the scripts can open new windows.
  *
- * By default, the encoding detector is disabled.
- *
- * @param settings settings object to set the encoding detector
- * @param enable @c EINA_TRUE to enable the encoding detector,
- *        @c EINA_FALSE to disable
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EXPORT_API Eina_Bool ewk_settings_encoding_detector_enabled_set(Ewk_Settings *settings, Eina_Bool enable);
-
-/**
- * Enables/disables if the scripts can open new windows.
+ * @details By default, the scripts can open new windows.
  *
- * By default, the scripts can open new windows.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param settings settings object to set if the scripts can open new windows
- * @param enable @c EINA_TRUE if the scripts can open new windows
- *        @c EINA_FALSE if not
+ * @param[in] settings The settings object to set if the scripts can open
+ *            new windows
+ * @param[in] enable If @c EINA_TRUE the scripts can open new windows\n
+ *                   otherwise @c EINA_FALSE if not
  *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure (scripts are disabled)
+ * @return @c EINA_TRUE on success,\n
+ *         otherwise @c EINA_FALSE on failure (scripts are disabled)
  */
-EXPORT_API Eina_Bool ewk_settings_scripts_can_open_windows_set(Ewk_Settings *settings, Eina_Bool enable);
+EXPORT_API Eina_Bool ewk_settings_scripts_can_open_windows_set(Ewk_Settingssettings, Eina_Bool enable);
 
 /**
  * @brief Returns whether the scripts can open new windows.
  *
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param[in] settings The settingings object to query whether the scripts can open new windows
+ * @param[in] settings The settings object to query whether the scripts can
+ *            open new windows
  *
  * @return @c EINA_TRUE if the scripts can open new windows\n
  *         otherwise @c EINA_FALSE if not or on failure (scripts are disabled)
  */
-EXPORT_API Eina_Bool ewk_settings_scripts_can_open_windows_get(const Ewk_Settings *settings);
+EXPORT_API Eina_Bool ewk_settings_scripts_can_open_windows_get(const Ewk_Settingssettings);
 
 /**
- * Requests enables/disables to the specific extra feature
- *
- * @param settings setting object to enable/disable the specific extra feature
- * @param feature feature name
- * @param enable @c EINA_TRUE to enable the specific extra feature
- *        @c EINA_FALSE to disable
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EXPORT_API void ewk_settings_extra_feature_set(Ewk_Settings* settings, const char* feature, Eina_Bool enable);
-
-/**
- * Returns enable/disable to the specific extra feature
- *
- * @param settings settings object to get whether the specific extra feature is enabled or not.
- * @param feature feature name
- *
- * @return @c EINA_TRUE on enable or @c EINA_FALSE on disable
- */
-EXPORT_API Eina_Bool ewk_settings_extra_feature_get(const Ewk_Settings* settings, const char* feature);
+* @}
+*/
 
 #ifdef __cplusplus
 }
diff --git a/tizen_src/ewk/efl_integration/public/ewk_settings_internal.h b/tizen_src/ewk/efl_integration/public/ewk_settings_internal.h
new file mode 100644 (file)
index 0000000..bcab30d
--- /dev/null
@@ -0,0 +1,552 @@
+/*
+ * Copyright (C) 2016 Samsung Electronics
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/**
+ * @file    ewk_settings_internal.h
+ * @brief   Describes the settings API.
+ *
+ * @note The ewk_settings is for setting the preference of specific ewk_view.
+ * We can get the ewk_settings from ewk_view using ewk_view_settings_get() API.
+ */
+
+#ifndef ewk_settings_internal_h
+#define ewk_settings_internal_h
+
+#include "ewk_settings.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * Creates a type name for the callback function used to notify the client when
+ * the continuous spell checking setting was changed by WebKit.
+ *
+ * @param enable @c EINA_TRUE if continuous spell checking is enabled or @c EINA_FALSE if it's disabled
+ */
+typedef void (*Ewk_Settings_Continuous_Spell_Checking_Change_Cb)(Eina_Bool enable);
+
+/**
+ * \enum    _Ewk_Editable_Link_Behavior
+ *
+ * @brief   Editable link behavior mode (Must remain in sync with WKEditableLinkBehavior)
+ */
+enum _Ewk_Editable_Link_Behavior {
+    EWK_EDITABLE_LINK_BEHAVIOR_DEFAULT,
+    EWK_EDITABLE_LINK_BEHAVIOR_ALWAYS_LIVE,
+    EWK_EDITABLE_LINK_BEHAVIOR_ONLY_LIVE_WITH_SHIFTKEY,
+    EWK_EDITABLE_LINK_BEHAVIOR_LIVE_WHEN_NOT_FOCUSED,
+    EWK_EDITABLE_LINK_BEHAVIOR_NEVER_LIVE
+};
+typedef enum _Ewk_Editable_Link_Behavior Ewk_Editable_Link_Behavior;
+
+enum _Ewk_Legacy_Font_Size_Mode {
+    EWK_LEGACY_FONT_SIZE_MODE_ALWAYS,
+    EWK_LEGACY_FONT_SIZE_MODE_ONLY_IF_PIXEL_VALUES_MATCH,
+    EWK_LEGACY_FONT_SIZE_MODE_NEVER
+};
+
+typedef enum _Ewk_Legacy_Font_Size_Mode Ewk_Legacy_Font_Size_Mode;
+
+enum _Ewk_List_Style_Position {
+    EWK_LIST_STYLE_POSITION_OUTSIDE, /**< Default WebKit value. */
+    EWK_LIST_STYLE_POSITION_INSIDE
+};
+typedef enum _Ewk_List_Style_Position Ewk_List_Style_Position;
+
+/*
+ * Enables/disables the Javascript Fullscreen API. The Javascript API allows
+ * to request full screen mode, for more information see:
+ * http://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html
+ *
+ * Default value for Javascript Fullscreen API setting is @c EINA_TRUE .
+ *
+ * @param settings settings object to enable Javascript Fullscreen API
+ * @param enable @c EINA_TRUE to enable Javascript Fullscreen API or
+ *               @c EINA_FALSE to disable
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_settings_fullscreen_enabled_set(Ewk_Settings *settings, Eina_Bool enable);
+
+/**
+ * Returns whether the Javascript Fullscreen API is enabled or not.
+ *
+ * @param settings settings object to query whether Javascript Fullscreen API is enabled
+ *
+ * @return @c EINA_TRUE if the Javascript Fullscreen API is enabled
+ *         @c EINA_FALSE if not or on failure
+ */
+EXPORT_API Eina_Bool ewk_settings_fullscreen_enabled_get(const Ewk_Settings *settings);
+
+/**
+ * Requests enables/disables the plug-ins.
+ *
+ * @param settings settings object to set the plug-ins
+ * @param enable @c EINA_TRUE to enable the plug-ins
+ *        @c EINA_FALSE to disable
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_settings_plugins_enabled_set(Ewk_Settings *settings, Eina_Bool enable);
+
+/**
+ * Returs enables/disables the plug-ins.
+ *
+ * @param settings settings object to set the plug-ins
+*
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_settings_plugins_enabled_get(const Ewk_Settings *settings);
+
+/**
+ * Checks whether WebKit supports the @a encoding.
+ *
+ * @param encoding the encoding string to check whether WebKit supports it
+ *
+ * @return @c EINA_TRUE if WebKit supports @a encoding or @c EINA_FALSE if not or
+ *      on failure
+ */
+EXPORT_API Eina_Bool ewk_settings_is_encoding_valid(const char* encoding);
+
+/**
+ * Requests to set default text encoding name.
+ *
+ * @param settings settings object to set default text encoding name
+ * @param encoding default text encoding name
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_settings_default_encoding_set(Ewk_Settings *settings, const char* encoding);
+
+/**
+ * Sets link magnifier enabled.
+ *
+ * @param settings settings object
+ * @param enabled link magnifier enabled
+ */
+EXPORT_API void ewk_settings_link_magnifier_enabled_set(Ewk_Settings *settings, Eina_Bool enabled);
+
+/**
+ * Gets link magnifier enabled.
+ *
+ * @param settings settings object
+ *
+ * @return @c EINA_TRUE if link magnifier enabled, @c EINA_FALSE otherwise
+ */
+EXPORT_API Eina_Bool ewk_settings_link_magnifier_enabled_get(const Ewk_Settings *settings);
+
+/**
+ * Requests to enable/disable link effect
+ *
+ * @param settings settings object to enable/disable link effect
+ *
+ * @param linkEffectEnabled @c EINA_TRUE to enable the link effect
+ *        @c EINA_FALSE to disable
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_settings_link_effect_enabled_set(Ewk_Settings *settings, Eina_Bool linkEffectEnabled);
+
+/**
+ * Returns enable/disable link effect
+ *
+ * @param settings settings object to get whether link effect is enabled or disabled
+ *
+ * @return @c EINA_TRUE on enable or @c EINA_FALSE on disable
+ */
+EXPORT_API Eina_Bool ewk_settings_link_effect_enabled_get(const Ewk_Settings *settings);
+
+/**
+ * Requests to set using default keypad (default value : true)
+ *
+ * @param settings settings object to use default keypad
+ * @param enable @c EINA_TRUE to use default keypad  @c EINA_FALSE to disable
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_settings_default_keypad_enabled_set(Ewk_Settings *settings, Eina_Bool enable);
+
+/**
+ * Returns enable/disable using default keypad
+ *
+ * @param settings settings object to use default keypad
+ *
+ * @return @c EINA_TRUE on enable or @c EINA_FALSE on disable
+ */
+EXPORT_API Eina_Bool ewk_settings_default_keypad_enabled_get(const Ewk_Settings *settings);
+
+/**
+ * Requests to set using keypad without user action (default value : true)
+ *
+ * @param settings settings object using keypad without user action
+ * @param enable @c EINA_TRUE to use without user action @c EINA_FALSE to disable
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_settings_uses_keypad_without_user_action_set(Ewk_Settings *settings, Eina_Bool enable);
+
+/**
+ * Returns using keypad without user action
+ *
+ * @param settings settings object using keypad without user action
+ * @param settings settings object to query using keypad without user action
+ *
+ * @return @c EINA_TRUE on enable or @c EINA_FALSE on disable
+ */
+EXPORT_API Eina_Bool ewk_settings_uses_keypad_without_user_action_get(const Ewk_Settings *settings);
+
+
+/**
+ * Requests setting use of text zoom.
+ *
+ * @param settings settings object to text zoom
+ * @param enable to text zoom.
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_settings_text_zoom_enabled_set(Ewk_Settings *settings, Eina_Bool enable);
+
+/**
+ * Returns whether text zoom is enabled or not.
+ *
+ * @param settings settings object to text zoom
+ *
+ * @return @c EINA_TRUE if enable text zoom or @c EINA_FALSE.
+ */
+EXPORT_API Eina_Bool ewk_settings_text_zoom_enabled_get(const Ewk_Settings *settings);
+
+/**
+ * Requests enable/disable text selection by default WebKit.
+ *
+ * @param settings setting object to set text selection by default WebKit
+ * @param enable @c EINA_TRUE to enable text selection by default WebKit
+ *        @c EINA_FALSE to disable
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_settings_text_selection_enabled_set(Ewk_Settings* settings, Eina_Bool enable);
+
+/**
+ * Returns if text selection by default WebKit is enabled or disabled.
+ *
+ * @param settings setting object to get text selection by default WebKit
+ *
+ * @return @c EINA_TRUE if text selection by default WebKit is enabled
+ *         @c EINA_FALSE if not or on failure
+ */
+EXPORT_API Eina_Bool ewk_settings_text_selection_enabled_get(const Ewk_Settings* settings);
+
+/**
+ * Requests enables/disables to clear text selection when webview lose focus
+ *
+ * @param settings setting object to set to clear text selection when webview lose focus
+ * @param enable @c EINA_TRUE to clear text selection when webview lose focus
+ *        @c EINA_FALSE to disable
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_settings_clear_text_selection_automatically_set(Ewk_Settings* settings, Eina_Bool enable);
+
+/**
+ * Enables/disables text autosizing.
+ *
+ * By default, the text autosizing is disabled.
+ *
+ * @param settings settings object to set the text autosizing
+ * @param enable @c EINA_TRUE to enable the text autosizing
+ *               @c EINA_FALSE to disable
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ *
+ * @see ewk_settings_text_autosizing_enabled_get()
+ */
+EXPORT_API Eina_Bool ewk_settings_text_autosizing_enabled_set(Ewk_Settings *settings, Eina_Bool enable);
+
+/**
+ * Returns whether the text autosizing is enabled.
+ *
+ * The text autosizing is a feature which adjusts the font size of text in wide
+ * columns, and makes text more legible.
+ *
+ * @param settings settings object to query whether text autosizing is enabled
+ *
+ * @return @c EINA_TRUE if the text autosizing is enabled
+ *         @c EINA_FALSE if not or on failure
+ */
+EXPORT_API Eina_Bool ewk_settings_text_autosizing_enabled_get(const Ewk_Settings *settings);
+
+
+/**
+ * Sets the scale factor for text autosizing.
+ *
+ * Default value is 1.0.
+ *
+ * @param settings settings object to set the text autosizing
+ * @param factor font scale factor for text autosizing
+ */
+EXPORT_API Eina_Bool ewk_settings_text_autosizing_font_scale_factor_set(Ewk_Settings *settings, double factor);
+
+/**
+ * Gets the current scale factor for text autosizing.
+ *
+ * @param settings settings object to set scale factor for text autosizing
+ *
+ * @return the current font scale factor for text autosizing.
+ * In case of error, it returns non-positive value.
+ */
+EXPORT_API double ewk_settings_text_autosizing_font_scale_factor_get(const Ewk_Settings *settings);
+
+/**
+ * Requests to enable/disable edge effect
+ *
+ * @param settings settings object to enable/disable edge effect
+ *
+ * @param enable @c EINA_TRUE to enable the edge effect
+ *        @c EINA_FALSE to disable
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_settings_edge_effect_enabled_set(Ewk_Settings* settings, Eina_Bool enable);
+
+/**
+ * Returns enable/disable edge effect
+ *
+ * @param settings settings object to get whether edge effect is enabled or disabled
+ *
+ * @return @c EINA_TRUE on enable or @c EINA_FALSE on disable
+ */
+EXPORT_API Eina_Bool ewk_settings_edge_effect_enabled_get(const Ewk_Settings* settings);
+
+/**
+ * Sets text style for selection mode enabled.
+ *
+ * @param settings settings object
+ * @param enabled text style for selection mode
+ */
+
+EXPORT_API void ewk_settings_text_style_state_enabled_set(Ewk_Settings *settings, Eina_Bool enabled);
+/**
+ * Gets text style for selection mode enabled.
+ *
+ * @param settings settings object
+ *
+ * @return @c EINA_TRUE if text style for selection mode enabled, @c EINA_FALSE otherwise
+ */
+EXPORT_API Eina_Bool ewk_settings_text_style_state_enabled_get(const Ewk_Settings *settings);
+
+/**
+ * Requests to enable/disable to select word by double tap
+ *
+ * @param settings settings object to enable/disable to select word by double tap
+ * @param enable @c EINA_TRUE to select word by double tap
+ *        @c EINA_FALSE to disable
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_settings_select_word_automatically_set(Ewk_Settings *settings, Eina_Bool enabled);
+
+/**
+ * Returns enable/disable text selection by double tap
+ *
+ * @param settings settings object to get whether word by double tap is selected
+ *
+ * @return @c EINA_TRUE on enable or @c EINA_FALSE on disable
+ */
+EXPORT_API Eina_Bool ewk_settings_select_word_automatically_get(const Ewk_Settings *settings);
+
+/**
+ * Sets legacy font size mode
+ *
+ * @param settings settings object
+ * @param mode legacy font size mode
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_settings_current_legacy_font_size_mode_set(Ewk_Settings *settings, Ewk_Legacy_Font_Size_Mode mode);
+
+/**
+ * Returns set legacy font size mode
+ *
+ * @param settings settings object
+ *
+ * @return @c Ewk_Legacy_Font_Size_Mode set legacy font size mode
+ */
+EXPORT_API Ewk_Legacy_Font_Size_Mode ewk_settings_current_legacy_font_size_mode_get(const Ewk_Settings *settings);
+
+/**
+ * Sets to paste image as URI (default: paste as base64-encoded-data)
+ *
+ * @param settings settings object
+* @param enable @c EINA_TRUE to paste image as URI    @c EINA_FALSE to paste image as data
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_settings_paste_image_uri_mode_set(Ewk_Settings *settings, Eina_Bool enabled);
+
+/**
+ * Returns whether  paste image as URI mode is enabled
+ *
+ * @param settings settings object
+ *
+ * @return @c EINA_TRUE on enable or @c EINA_FALSE on disable
+ */
+EXPORT_API Eina_Bool ewk_settings_paste_image_uri_mode_get(const Ewk_Settings *settings);
+
+/**
+ * DEPRECATED.
+ * Gets the initial position value for the HTML list element <ul></ul>.
+ *
+ * @param settings setting object to get the initial position value
+ *
+ * @return the initial position value for the HTML list element.
+ */
+EINA_DEPRECATED EXPORT_API Ewk_List_Style_Position ewk_settings_initial_list_style_position_get(const Ewk_Settings* settings);
+
+/**
+ * DEPRECATED.
+ * Sets the initial position value for the HTML list element <ul></ul>.
+ *
+ * This value affect the lists that are going to be created,
+ * does not make sense to manipulate it for existed elements.
+ *
+ * @param settings setting object to set the initial list style position
+ * @param style a new style to set
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EINA_DEPRECATED EXPORT_API Eina_Bool ewk_settings_initial_list_style_position_set(Ewk_Settings* settings, Ewk_List_Style_Position style);
+
+/**
+ * Enable or disable supporting of -webkit-text-size-adjust
+ *
+ * -webkit-text-size-adjust affects text size adjusting feature.
+ *
+ * @param settings setting object to set the support of -webkit-text-size-adjust
+ * @param enable @c EINA_TRUE to support -webkit-text-size-adjust, @c EINA_FALSE not to support
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_settings_webkit_text_size_adjust_enabled_set(Ewk_Settings* settings, Eina_Bool enabled);
+
+/**
+ * Requests to enable/disable to detect email address when tapping on email address without link property
+ *
+ * @param settings settings object to enable/disable to detect email address when tapping on email address without link property
+ *
+ * @param enable @c EINA_TRUE to enable to detect email address when tapping on email address without link property
+ *        @c EINA_FALSE to disable
+ */
+EXPORT_API void ewk_settings_detect_contents_automatically_set(Ewk_Settings* settings, Eina_Bool enable);
+
+/**
+ * Returns enable/disable to detect email address when tapping on email address without link property
+ *
+ * @param settings settings object to get whether email address is detected when tapping on email address without link property
+ *
+ * @return @c EINA_TRUE on enable or @c EINA_FALSE on disable
+ */
+EXPORT_API Eina_Bool ewk_settings_detect_contents_automatically_get(const Ewk_Settings* settings);
+
+/**
+ * Sets cache builder mode enabled.
+ *
+ * @param settings settings object
+ * @param enabled cache builder mode
+ */
+EXPORT_API void ewk_settings_cache_builder_enabled_set(Ewk_Settings *settings, Eina_Bool enabled);
+
+/**
+ * Requests enables/disables to the specific extra feature
+ *
+ * @param settings setting object to enable/disable the specific extra feature
+ * @param feature feature name
+ * @param enable @c EINA_TRUE to enable the specific extra feature
+ *        @c EINA_FALSE to disable
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EXPORT_API void ewk_settings_extra_feature_set(Ewk_Settings* settings, const char* feature, Eina_Bool enable);
+
+/**
+ * Returns enable/disable to the specific extra feature
+ *
+ * @param settings settings object to get whether the specific extra feature is enabled or not.
+ * @param feature feature name
+ *
+ * @return @c EINA_TRUE on enable or @c EINA_FALSE on disable
+ */
+EXPORT_API Eina_Bool ewk_settings_extra_feature_get(const Ewk_Settings* settings, const char* feature);
+
+/**
+ * Enables/disables the javascript access to clipboard.
+ *
+ * By default, JavaScript access to clipboard is disabled.
+ *
+ * @param settings settings object to set javascript access to clipboard
+ * @param enable @c EINA_TRUE to enable javascript access to clipboard
+ *               @c EINA_FALSE to disable
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_settings_javascript_can_access_clipboard_set(Ewk_Settings *settings, Eina_Bool enable);
+
+/**
+ * Returns whether javascript access to clipboard is enabled.
+ *
+ * @param settings settings object to query if the javascript can access to clipboard
+ *
+ * @return @c EINA_TRUE if the javascript can access to clipboard
+ *         @c EINA_FALSE if not or on failure
+ */
+EXPORT_API Eina_Bool ewk_settings_javascript_can_access_clipboard_get(const Ewk_Settings *settings);
+
+/**
+ * Enables/disables the DOM Paste is allowed.
+ *
+ * By default, DOM Paste is disabled.
+ *
+ * @param settings settings object to set DOM Paste allowance
+ * @param enable @c EINA_TRUE to enable DOM Paste
+ *               @c EINA_FALSE to disable
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_settings_dom_paste_allowed_set(Ewk_Settings *settings, Eina_Bool enable);
+
+/**
+ * Returns whether DOM Paste is allowed.
+ *
+ * @param settings settings object to query if the DOM Paste is enabled.
+ *
+ * @return @c EINA_TRUE if the DOM Paste is enabled
+ *         @c EINA_FALSE if not or on failure
+ */
+EXPORT_API Eina_Bool ewk_settings_dom_paste_allowed_get(const Ewk_Settings *settings);
+
+#ifdef __cplusplus
+}
+#endif
+#endif // ewk_settings_internal_h
diff --git a/tizen_src/ewk/efl_integration/public/ewk_settings_product.h b/tizen_src/ewk/efl_integration/public/ewk_settings_product.h
new file mode 100644 (file)
index 0000000..247066b
--- /dev/null
@@ -0,0 +1,427 @@
+/*
+ * Copyright (C) 2016 Samsung Electronics
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/**
+ * @file    ewk_settings_product.h
+ * @brief   Describes the settings API.
+ *
+ * @note The ewk_settings is for setting the preference of specific ewk_view.
+ * We can get the ewk_settings from ewk_view using ewk_view_settings_get() API.
+ */
+
+#ifndef ewk_settings_product_h
+#define ewk_settings_product_h
+
+#include "ewk_settings_internal.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * Requests setting of force zoom.
+ *
+ * @param settings settings object to enable force zoom
+ * @param enable to force zoom
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_settings_force_zoom_set(Ewk_Settings *settings, Eina_Bool enable);
+
+/**
+ * Returns the force zoom status.
+ *
+ * @param settings settings object to enable force zoom
+ *
+ * @return @c EINA_TRUE if enable force zoom or @c EINA_FALSE.
+ */
+EXPORT_API Eina_Bool ewk_settings_force_zoom_get(const Ewk_Settings *settings);
+
+/**
+ * Requests to set the default font size.
+ *
+ * @param settings settings object to set the default font size
+ * @param size a new default font size to set
+ *
+ * @return @c EINA_TRUE on success @c EINA_FALSE otherwise
+ */
+EXPORT_API Eina_Bool ewk_settings_font_default_size_set(Ewk_Settings *settings, int size);
+
+/**
+ * Returns the default font size.
+ *
+ * @param settings settings object to set the default font size
+ *
+ * @return @c default font size.
+ */
+EXPORT_API int ewk_settings_font_default_size_get(const Ewk_Settings *settings);
+
+/**
+ * Requests enables/disables if the scripts can open the new windows.
+ *
+ * @param settings settings object to set if the scripts can open the new windows
+ * @param allow @c EINA_TRUE if the scripts can open the new windows
+ *        @c EINA_FALSE if not
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure (scripts are disabled)
+ */
+EXPORT_API Eina_Bool ewk_settings_scripts_window_open_set(Ewk_Settings *settings, Eina_Bool allow);
+
+/**
+ * Returns enables/disables if the scripts can open the new windows.
+ *
+ * @param settings settings object to set if the scripts can open the new windows
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure (scripts are disabled)
+ */
+EXPORT_API Eina_Bool ewk_settings_scripts_window_open_get(const Ewk_Settings *settings);
+
+/**
+ * Returns default text encoding name.
+ *
+ * @param settings settings object to query default text encoding nae
+ *
+ * @return default text encoding name
+ */
+EXPORT_API const char* ewk_settings_default_encoding_get(const Ewk_Settings *settings);
+
+/**
+ * Requests to set editable link behavior.
+ *
+ * @param settings settings object to set editable link behavior
+ * @param behavior editable link behaviro
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_settings_editable_link_behavior_set(Ewk_Settings *settings, Ewk_Editable_Link_Behavior behavior);
+
+/**
+ * Requests to set the load remote images enable/disable
+ *
+ * @param settings settings object to set load remote images
+ *
+ * @param loadRemoteImages @c EINA_TRUE to enable the load remote images
+ *        @c EINA_FALSE to disable
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_settings_load_remote_images_set(Ewk_Settings *settings, Eina_Bool loadRemoteImages);
+
+/**
+ * Returns enable/disable the load remote images
+ *
+ * @param settings settings object to get editable link behavior
+ *
+ * @return @c EINA_TRUE on enable or @c EINA_FALSE on disable
+ */
+EXPORT_API Eina_Bool ewk_settings_load_remote_images_get(const Ewk_Settings *settings);
+
+/**
+ * Returns uses encoding detector.
+ *
+ * @deprecated Deprecated since Tizen 3.0.
+ *
+ * @param settings settings object to query uses encoding detector
+ *
+ * @see ewk_settings_encoding_detector_enabled_get
+ *
+ * @return uses encoding detector
+ */
+EINA_DEPRECATED EXPORT_API Eina_Bool ewk_settings_uses_encoding_detector_get(const Ewk_Settings *settings);
+
+/**
+ * Returns if password form autofill is enabled or disabled.
+ *
+ * @param setting setting object to get password form autofill
+ *
+ * @return @c EINA_TRUE if password form autofill is enabled
+ *         @c EINA_FALSE if password form autofill is disabled
+ */
+EXPORT_API Eina_Bool ewk_settings_autofill_password_form_enabled_get(Ewk_Settings* settings);
+
+/**
+ * Returns if form candidate data for autofill is enabled or disabled.
+ *
+ * @param setting setting object to get form candidate data for autofill
+ *
+ * @return @c EINA_TRUE if form candidate data for autofill is enabled
+ *         @c EINA_FALSE if form candidate data for autofill is disabled
+ */
+EXPORT_API Eina_Bool ewk_settings_form_candidate_data_enabled_get(Ewk_Settings* settings);
+
+/**
+ * Returns whether the autofill_text feature is enabled.
+ *
+ * @param settings settings object to query whether autofill_text feature is enabled
+ *
+ * @return @c EINA_TRUE if the autofill_text feature is enabled
+ *         @c EINA_FALSE if not or on failure
+ */
+EXPORT_API Eina_Bool ewk_settings_form_profile_data_enabled_get(const Ewk_Settings *settings);
+
+/**
+ * Returns whether text selection is cleared when webview lose focus or not.
+ *
+ * @param settings setting object to get whether text selection is cleared when webview lose focus or not
+ *
+ * @return @c EINA_TRUE if text selection is cleared when webview lose focus
+ *         @c EINA_FALSE if not or on failure
+ */
+EXPORT_API Eina_Bool ewk_settings_clear_text_selection_automatically_get(const Ewk_Settings* settings);
+
+/**
+ * Requests for drawing layer borders.
+ *
+ * @param settings settings object to drawing layer borders.
+ * @param enable EINA_TRUE to draw layer borders.
+ *
+ * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
+ */
+
+EXPORT_API Eina_Bool ewk_settings_compositing_borders_visible_set(Ewk_Settings *settings, Eina_Bool enable);
+
+/**
+ * Requests to set the scan malware enable/disable.
+ *
+ * @param settings settings object to set scan malware
+ *
+ * @param scan_malware_enabled @c EINA_TRUE to enable the scan malware
+ *        @c EINA_FALSE to disable
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_settings_scan_malware_enabled_set(Ewk_Settings *settings, Eina_Bool scan_malware_enabled);
+
+/**
+ * Requests to set the spdy enable/disable.
+ *
+ * @param settings settings object to set spdy on soup
+ *
+ * @param spdy_enabled @c EINA_TRUE to enable the spdy on soup
+ *        @c EINA_FALSE to disable
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_settings_spdy_enabled_set(Ewk_Settings *settings, Eina_Bool spdy_enabled);
+
+/**
+ * Requests to set the performance features of soup enable/disable.
+ *
+ * @param settings settings object to set performance features on soup
+ *
+ * @param spdy_enabled @c EINA_TRUE to enable the performance features on soup
+ *        @c EINA_FALSE to disable
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_settings_performance_features_enabled_set(Ewk_Settings *settings, Eina_Bool performance_features_enabled);
+
+/**
+ * Requests to set using encoding detector.
+ *
+ * @deprecated Deprecated since Tizen 3.0.
+ *
+ * @param settings settings object to set using encoding detector
+ * @param use use encoding detector
+ *
+ * @see ewk_settings_encoding_detector_enabled_set
+ */
+EINA_DEPRECATED EXPORT_API Eina_Bool ewk_settings_uses_encoding_detector_set(Ewk_Settings *settings, Eina_Bool use);
+
+/**
+ * Enables/disables the encoding detector.
+ *
+ * By default, the encoding detector is disabled.
+ *
+ * @param settings settings object to set the encoding detector
+ * @param enable @c EINA_TRUE to enable the encoding detector,
+ *        @c EINA_FALSE to disable
+ *
+ * @since_tizen 3.0
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_settings_encoding_detector_enabled_set(Ewk_Settings* settings, Eina_Bool enable);
+
+/**
+ * Queries whether the encoding detector is enabled or not.
+ *
+ * @since_tizen 3.0
+ *
+ * @param settings settings object to query using encoding detector
+ *
+ * @return @c EINA_TRUE if encoding detecor is enabled
+ *         @c EINA_FALSE otherwise
+ */
+EXPORT_API Eina_Bool ewk_settings_encoding_detector_enabled_get(const Ewk_Settings* settings);
+
+
+/**
+ * Set to load https sub resource when it has certificate error.
+ *
+ * @param settings settings object to enable/disable load sub resource
+ * @param enabled a state to set
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_settings_load_sub_resource_with_certificate_error_set(Ewk_Settings* settings, Eina_Bool enabled);
+
+/*
+ * Set to add http head DNT(do not track).
+ *
+ * @param settings settings object to enable/disable set DNT in http head.
+ * @param enabled a state to set
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_settings_do_not_track_set(Ewk_Settings* settings, Eina_Bool enabled);
+
+/**
+ *@brief Set to allow running mixed contents or not.
+ *
+ * @since_tizen 3.0
+ *
+ * @param[in] settings The settings object to set mixed contents reply
+ * @param[in] allow If @c EINA_TRUE allow to run mixed contents\n
+ *      otherwise @c EINA_FALSE to not allow running mixed contents
+ * @return @c EINA_TRUE on success,\n
+ *         otherwise @c EINA_FALSE on failure
+*/
+EXPORT_API Eina_Bool
+ewk_settings_mixed_contents_set(const Ewk_Settings* settings, Eina_Bool allow);
+
+/**
+ * @deprecated Deprecated since Tizen 3.0.
+ *
+ * Enable/disable cache builder extension mode.
+ *
+ * By default, the cache builder extension is disabled.
+ * Notify node position to client when focused node is change.
+ * Can find focusable node from last known mouse position.
+ * Support fast scroll when long pressing the direction key.
+ *
+ * @param settings settings object
+ * @param enabled @c EINA_TRUE to enable the cache builder extension
+ *                @c EINA_FALSE to disable
+ */
+EINA_DEPRECATED EXPORT_API void ewk_settings_cache_builder_extension_enabled_set(Ewk_Settings *settings, Eina_Bool enabled);
+
+/**
+ * Enable/disable focus ring.
+ *
+ * By default, the focus ring is disabled.
+ *
+ * @param settings settings object
+ * @param enabled @c EINA_TRUE to enable the focus ring
+ *                @c EINA_FALSE to disable
+ */
+EXPORT_API void ewk_settings_focus_ring_enabled_set(Ewk_Settings *settings, Eina_Bool enabled);
+
+/**
+ * Enables/disables the viewport meta tag.
+ *
+ * By default, the viewport meta tag is enabled on mobile and wearable,
+ * but it is disabled on TV.
+ *
+ * @param settings settings object
+ * @param enable @c EINA_TRUE to enable the viewport meta tag
+ *               @c EINA_FALSE to disable
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_settings_viewport_meta_tag_set(Ewk_Settings *settings, Eina_Bool enable);
+
+/**
+ * Returns whether the viewport meta tag is enabled.
+ *
+ * @param settings settings object
+ *
+ * @return @c EINA_TRUE if the viewport meta tag is enabled
+ *         @c EINA_FALSE if not or on failure
+ */
+EXPORT_API Eina_Bool ewk_settings_viewport_meta_tag_get(const Ewk_Settings *settings);
+
+/**
+ * Enables/disables web security.
+ *
+ * By default, the web security is enabled.
+ *
+ * @param settings settings object to set the web security
+ * @param enable @c EINA_TRUE to enable the web security
+ *             @c EINA_FALSE to disable
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ *
+ * @see ewk_settings_web_security_enabled_get()
+ */
+EXPORT_API Eina_Bool ewk_settings_web_security_enabled_set(Ewk_Settings *settings, Eina_Bool enable);
+
+/**
+ * Returns whether the web security is enabled.
+ *
+ * @param settings settings object to query whether web security is enabled
+ *
+ * @return @c EINA_TRUE if the web security is enabled
+ *       @c EINA_FALSE if not or on failure
+ */
+EXPORT_API Eina_Bool ewk_settings_web_security_enabled_get(const Ewk_Settings *settings);
+
+/**
+ * Allow/Disallow file access from external url
+ *
+ * By default, file access from external url is disallowed
+ *
+ * This is only for TV Product
+ *
+ * @param settings settings object to allow file access from external url
+ * @param enable @c EINA_TRUE to allow file access from external url
+ *             @c EINA_FALSE to disallow
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ *
+ * @see ewk_settings_allow_file_access_from_external_url_get()
+ */
+EXPORT_API Eina_Bool
+ewk_settings_allow_file_access_from_external_url_set(Ewk_Settings* settings,
+                                                     Eina_Bool allow);
+
+/**
+ * Returns whether file access from external url is enabled
+ *
+ * This is only for TV Product
+ *
+ * @param settings settings object to query whether file access from external
+ * url is enabled
+ *
+ * @return @c EINA_TRUE if file access from external url is allow
+ *       @c EINA_FALSE if not or on failure
+ */
+EXPORT_API Eina_Bool ewk_settings_allow_file_access_from_external_url_get(
+    const Ewk_Settings* settings);
+
+#ifdef __cplusplus
+}
+#endif
+#endif // ewk_settings_product_h
index 6e6a5da..5eaa362 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "ewk_storage_manager.h"
+#include "ewk_storage_manager_internal.h"
 #include "private/ewk_private.h"
 
 Eina_Bool ewk_storage_manager_entries_clear(Ewk_Storage_Manager* ewkStorageManager)
@@ -3,14 +3,14 @@
 // found in the LICENSE file.
 
  /**
-  * @file   ewk_storage_manager.h
+  * @file   ewk_storage_manager_internal.h
   * @brief  Describes the Ewk Storage Manager API.
   *
   * Ewk Storage Manager manages web storage.
   */
 
-#ifndef ewk_storage_manager_h
-#define ewk_storage_manager_h
+#ifndef ewk_storage_manager_internal_h
+#define ewk_storage_manager_internal_h
 
 #include <Eina.h>
 #include <tizen.h>
@@ -35,4 +35,4 @@ EXPORT_API Eina_Bool ewk_storage_manager_entries_clear(Ewk_Storage_Manager *mana
 }
 #endif
 
-#endif // ewk_storage_manager_h
+#endif // ewk_storage_manager_internal_h
index f2a3223..6886927 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "ewk_text_style.h"
+#include "ewk_text_style_internal.h"
 
 #include <Eina.h>
 
diff --git a/tizen_src/ewk/efl_integration/public/ewk_text_style_internal.h b/tizen_src/ewk/efl_integration/public/ewk_text_style_internal.h
new file mode 100644 (file)
index 0000000..a7d9a21
--- /dev/null
@@ -0,0 +1,43 @@
+// Copyright 2013-2016 Samsung Electronics. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef ewk_text_style_internal_h
+#define ewk_text_style_internal_h
+
+#include <Eina.h>
+#include <Evas.h>
+#include <tizen.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef enum {
+    EWK_TEXT_STYLE_STATE_FALSE,
+    EWK_TEXT_STYLE_STATE_TRUE,
+    EWK_TEXT_STYLE_STATE_MIXED
+} Ewk_Text_Style_State;
+
+typedef struct _Ewk_Text_Style Ewk_Text_Style;
+
+EINA_DEPRECATED EXPORT_API Ewk_Text_Style_State ewk_text_style_underline_get(Ewk_Text_Style* text_style);
+EINA_DEPRECATED EXPORT_API Ewk_Text_Style_State ewk_text_style_italic_get(Ewk_Text_Style* text_style);
+EINA_DEPRECATED EXPORT_API Ewk_Text_Style_State ewk_text_style_bold_get(Ewk_Text_Style* text_style);
+EINA_DEPRECATED EXPORT_API Ewk_Text_Style_State ewk_text_style_ordered_list_get(Ewk_Text_Style* text_style);
+EINA_DEPRECATED EXPORT_API Ewk_Text_Style_State ewk_text_style_unordered_list_get(Ewk_Text_Style* text_style);
+EINA_DEPRECATED EXPORT_API Eina_Bool ewk_text_style_position_get(Ewk_Text_Style* text_style, Evas_Point* start_point, Evas_Point* end_point);
+EINA_DEPRECATED EXPORT_API Eina_Bool ewk_text_style_bg_color_get(Ewk_Text_Style* textStyle, int* r, int* g, int* b, int* a);
+EINA_DEPRECATED EXPORT_API Eina_Bool ewk_text_style_color_get(Ewk_Text_Style* textStyle, int* r, int* g, int* b, int* a);
+EINA_DEPRECATED EXPORT_API const char* ewk_text_style_font_size_get(Ewk_Text_Style* textStyle);
+EINA_DEPRECATED EXPORT_API Eina_Bool ewk_text_style_has_composition_get(Ewk_Text_Style* textStyle);
+EINA_DEPRECATED EXPORT_API Ewk_Text_Style_State ewk_text_style_align_center_get(Ewk_Text_Style* textStyle);
+EINA_DEPRECATED EXPORT_API Ewk_Text_Style_State ewk_text_style_align_left_get(Ewk_Text_Style* textStyle);
+EINA_DEPRECATED EXPORT_API Ewk_Text_Style_State ewk_text_style_align_right_get(Ewk_Text_Style* textStyle);
+EINA_DEPRECATED EXPORT_API Ewk_Text_Style_State ewk_text_style_align_full_get(Ewk_Text_Style* textStyle);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // ewk_text_style_internal_h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef ewk_touch_h
-#define ewk_touch_h
+#ifndef ewk_touch_internal_h
+#define ewk_touch_internal_h
 
 #include <Evas.h>
 
@@ -34,4 +34,4 @@ struct _Ewk_Touch_Point {
 }
 #endif
 
-#endif // ewk_touch_h
+#endif // ewk_touch_internal_h
index 9184c00..eb7f997 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "ewk_tracing.h"
+#include "ewk_tracing_internal.h"
 
 #include "private/ewk_tracing_private.h"
 
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef ewk_tracing_h
-#define ewk_tracing_h
+#ifndef ewk_tracing_internal_h
+#define ewk_tracing_internal_h
 
 #include <Eina.h>
 
@@ -22,9 +22,7 @@ extern "C" {
  *
  * @return @c EINA_TRUE on success or @c EINA_FALSE on failure.
 */
-EXPORT_API Eina_Bool ewk_start_tracing(const char* categories,
-                                 const char* trace_options,
-                                 const char* trace_file_name);
+EXPORT_API Eina_Bool ewk_start_tracing(const char* categories, const char* trace_options, const char* trace_file_name);
 
 /**
 * Stop recording traces, works only if recording is started before calling
@@ -36,4 +34,4 @@ EXPORT_API void ewk_stop_tracing();
 }
 #endif
 
-#endif  // ewk_tracing_h
+#endif  // ewk_tracing_internal_h
index 41485fe..64b63b8 100644 (file)
@@ -2,11 +2,10 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include "ewk_user_media_internal.h"
+
 #include "private/ewk_security_origin_private.h"
 #include "private/ewk_user_media_private.h"
-#include "public/ewk_security_origin.h"
-
-#include "ewk_user_media.h"
 
 Eina_Bool ewk_user_media_permission_request_suspend(
     Ewk_User_Media_Permission_Request* request) {
diff --git a/tizen_src/ewk/efl_integration/public/ewk_user_media_internal.h b/tizen_src/ewk/efl_integration/public/ewk_user_media_internal.h
new file mode 100644 (file)
index 0000000..6471d99
--- /dev/null
@@ -0,0 +1,73 @@
+/*
+   Copyright (C) 2016 Samsung Electronics
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public License
+    along with this library; see the file COPYING.LIB.  If not, write to
+    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+    Boston, MA 02110-1301, USA.
+*/
+
+#ifndef ewk_user_media_internal_h
+#define ewk_user_media_internal_h
+
+#include <Eina.h>
+#include <tizen.h>
+#include "ewk_security_origin_internal.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct _Ewk_User_Media_Permission_Request Ewk_User_Media_Permission_Request;
+
+/**
+ * Requests for getting origin of local media permission request.
+ *
+ * @param request Ewk_User_Media_Permission_Request object to get origin for
+ *        userMedia permission request
+ *
+ * @return security origin of userMedia permission request
+ */
+EXPORT_API const Ewk_Security_Origin* ewk_user_media_permission_request_origin_get(const Ewk_User_Media_Permission_Request* request);
+
+/**
+ * Sets the permission to access local media
+ *
+ * @param request Ewk_View_User_Media_Permission_Request object for userMedia
+ *        permission
+ * @param allowed decided permission value from user
+ */
+EXPORT_API void ewk_user_media_permission_request_set(Ewk_User_Media_Permission_Request* request, Eina_Bool allowed);
+
+/**
+ * Suspend the operation for user media permission
+ *
+ * @param request user media permission request object
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_user_media_permission_request_suspend(Ewk_User_Media_Permission_Request* request);
+
+/**
+ * Reply the result about user media permission.
+ *
+ * @param request Ewk_User_Media_Permission_Request object to get
+ *        the information about user media permission request
+ * @param allow result about user media permission
+ */
+EXPORT_API void ewk_user_media_permission_reply(Ewk_User_Media_Permission_Request* request, Eina_Bool allow);
+
+#ifdef __cplusplus
+}
+#endif
+#endif // ewk_user_media_internal_h
index 08df9c3..3b95f8e 100644 (file)
@@ -20,7 +20,7 @@
  *
  */
 
-#include "ewk_view.h"
+#include "ewk_view_product.h"
 
 #include <Evas.h>
 
@@ -36,7 +36,7 @@
 #include "notification_permission_popup.h"
 #include "public/ewk_back_forward_list.h"
 #include "public/ewk_context.h"
-#include "public/ewk_enums.h"
+#include "public/ewk_enums_internal.h"
 #include "public/ewk_settings.h"
 #include "private/ewk_context_private.h"
 #include "private/ewk_frame_private.h"
index 8f171b7..cf6559c 100644 (file)
 /*
- * Copyright (C) 2011 Samsung Electronics. All rights reserved.
- * Copyright (C) 2012 Intel Corporation. All rights reserved.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
- * Boston, MA  02110-1301, USA.
- *
- */
+   Copyright (C) 2016 Samsung Electronics
+   Copyright (C) 2012 Intel Corporation. All rights reserved.
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public License
+    along with this library; see the file COPYING.LIB.  If not, write to
+    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+    Boston, MA 02110-1301, USA.
+*/
 
 /**
  * @file    ewk_view.h
- * @brief   WebKit main smart object.
- *
- * This object provides view related APIs of WebKit2 to EFL object.
- *
- * The following signals (see evas_object_smart_callback_add()) are emitted:
- *
- * - "back,forward,list,changed", void: reports that the view's back / forward list had changed.
- * - "close,window", void: window is closed.
- * - "create,window", Evas_Object**: a new window is created.
- * - "contents,size,changed", void: reports that contents size was changed.
- * - "download,cancelled", Ewk_Download_Job*: reports that a download was effectively cancelled.
- * - "download,failed", Ewk_Download_Job_Error*: reports that a download failed with the given error.
- * - "download,finished", Ewk_Download_Job*: reports that a download completed successfully.
- * - "download,request", Ewk_Download_Job*: reports that a new download has been requested. The client should set the
- *   destination path by calling ewk_download_job_destination_set() or the download will fail.
- * - "form,submission,request", Ewk_Form_Submission_Request*: Reports that a form request is about to be submitted.
- *   The Ewk_Form_Submission_Request passed contains information about the text fields of the form. This
- *   is typically used to store login information that can be used later to pre-fill the form.
- *   The form will not be submitted until ewk_form_submission_request_submit() is called.
- *   It is possible to handle the form submission request asynchronously, by simply calling
- *   ewk_form_submission_request_ref() on the request and calling ewk_form_submission_request_submit()
- *   when done to continue with the form submission. If the last reference is removed on a
- *   #Ewk_Form_Submission_Request and the form has not been submitted yet,
- *   ewk_form_submission_request_submit() will be called automatically.
- * - "icon,changed", void: reports that the view's favicon has changed.
- * - "intent,request,new", Ewk_Intent*: reports new Web intent request.
- * - "intent,service,register", Ewk_Intent_Service*: reports new Web intent service registration.
- * - "load,error", const Ewk_Error*: reports main frame load failed.
- * - "load,finished", void: reports load finished.
- * - "load,progress", double*: load progress has changed (value from 0.0 to 1.0).
- * - "load,provisional,failed", const Ewk_Error*: view provisional load failed.
- * - "load,provisional,redirect", void: view received redirect for provisional load.
- * - "load,provisional,started", void: view started provisional load.
- * - "pageSave,success", void: page save operation was success.
- * - "pageSave,error", void: page save operation has failed.
- * - "policy,decision,navigation", Ewk_Navigation_Policy_Decision*: a navigation policy decision should be taken.
- *   To make a policy decision asynchronously, simply increment the reference count of the
- *   #Ewk_Navigation_Policy_Decision object using ewk_navigation_policy_decision_ref().
- * - "policy,decision,new,window", Ewk_Navigation_Policy_Decision*: a new window policy decision should be taken.
- *   To make a policy decision asynchronously, simply increment the reference count of the
- *   #Ewk_Navigation_Policy_Decision object using ewk_navigation_policy_decision_ref().
- * - "resource,request,failed", const Ewk_Resource_Load_Error*: a resource failed loading.
- * - "resource,request,finished", const Ewk_Resource*: a resource finished loading.
- * - "resource,request,new", const Ewk_Resource_Request*: a resource request was initiated.
- * - "resource,request,response", Ewk_Resource_Load_Response*: a response to a resource request was received.
- * - "resource,request,sent", const Ewk_Resource_Request*: a resource request was sent.
- * - "text,found", unsigned int*: the requested text was found and it gives the number of matches.
- * - "title,changed", const char*: title of the main frame was changed.
- * - "tooltip,text,set", const char*: tooltip was set.
- * - "tooltip,text,unset", void: tooltip was unset.
- * - "url,changed", const char*: url of the main frame was changed.
- * - "webprocess,crashed", Eina_Bool*: expects a @c EINA_TRUE if web process crash is handled; @c EINA_FALSE, otherwise.
- *
- *
- * Tizen specific signals
- * - "magnifier,show", void: magifier of text selection was showed.
- * - "magnifier,hide", void: magifier of text selection was hidden.
+ * @brief   This file describes the Chromium-efl main smart object.
+ *
+ * This object provides view related APIs of Chromium to EFL objects.
  */
 
 #ifndef ewk_view_h
 #define ewk_view_h
 
+#include <Eina.h>
+#include <Evas.h>
+#include <string.h>
+#include <tizen.h>
 #include "ewk_back_forward_list.h"
 #include "ewk_context.h"
-#include "ewk_enums.h"
-#include "ewk_export.h"
-#include "ewk_frame.h"
-#include "ewk_geolocation.h"
-#include "ewk_history.h"
-#include "ewk_hit_test.h"
-#include "ewk_intercept_request.h"
-#include "ewk_notification.h"
-#include "ewk_page_group.h"
-#include "ewk_quota_permission_request.h"
-#include "ewk_security_origin.h"
+#include "ewk_context_menu.h"
 #include "ewk_settings.h"
-#include "ewk_touch.h"
-#include "ewk_user_media.h"
-#include "ewk_window_features.h"
-
-#include <Evas.h>
-#include <string.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-/// Enum values containing text directionality values.
-typedef enum {
-    EWK_TEXT_DIRECTION_RIGHT_TO_LEFT,
-    EWK_TEXT_DIRECTION_LEFT_TO_RIGHT
-} Ewk_Text_Direction;
-
-enum Ewk_Password_Popup_Option {
-    EWK_PASSWORD_POPUP_SAVE,
-    EWK_PASSWORD_POPUP_NOT_NOW,
-    EWK_PASSWORD_POPUP_NEVER,
-    EWK_PASSWORD_POPUP_OK = EWK_PASSWORD_POPUP_SAVE,
-    EWK_PASSWORD_POPUP_CANCEL =EWK_PASSWORD_POPUP_NOT_NOW
-};
-typedef enum Ewk_Password_Popup_Option Ewk_Password_Popup_Option;
-
-typedef struct Ewk_View_Smart_Data Ewk_View_Smart_Data;
-typedef struct Ewk_View_Smart_Class Ewk_View_Smart_Class;
-
-// #if PLATFORM(TIZEN)
-/// Creates a type name for _Ewk_Event_Gesture.
-typedef struct Ewk_Event_Gesture Ewk_Event_Gesture;
-
-/// Represents a gesture event.
-struct Ewk_Event_Gesture {
-    Ewk_Gesture_Type type; /**< type of the gesture event */
-    Evas_Coord_Point position; /**< position of the gesture event */
-    Evas_Point velocity; /**< velocity of the gesture event. The unit is pixel per second. */
-    double scale; /**< scale of the gesture event */
-    int count; /**< count of the gesture */
-    unsigned int timestamp; /**< timestamp of the gesture */
-};
-
-// #if ENABLE(TIZEN_FOCUS_UI)
-enum Ewk_Unfocus_Direction {
-    EWK_UNFOCUS_DIRECTION_NONE = 0,
-    EWK_UNFOCUS_DIRECTION_FORWARD,
-    EWK_UNFOCUS_DIRECTION_BACKWARD,
-    EWK_UNFOCUS_DIRECTION_UP,
-    EWK_UNFOCUS_DIRECTION_DOWN,
-    EWK_UNFOCUS_DIRECTION_LEFT,
-    EWK_UNFOCUS_DIRECTION_RIGHT,
-};
-typedef enum Ewk_Unfocus_Direction Ewk_Unfocus_Direction;
-// #endif
-
-// #if ENABLE(TIZEN_INPUT_TAG_EXTENSION)
 /**
- * \enum    Ewk_Input_Type
- * @brief   Provides type of focused input element
+ * @addtogroup WEBVIEW
+ * @{
  */
-enum Ewk_Input_Type {
-    EWK_INPUT_TYPE_TEXT,
-    EWK_INPUT_TYPE_TELEPHONE,
-    EWK_INPUT_TYPE_NUMBER,
-    EWK_INPUT_TYPE_EMAIL,
-    EWK_INPUT_TYPE_URL,
-    EWK_INPUT_TYPE_PASSWORD,
-    EWK_INPUT_TYPE_COLOR,
-    EWK_INPUT_TYPE_DATE,
-    EWK_INPUT_TYPE_DATETIME,
-    EWK_INPUT_TYPE_DATETIMELOCAL,
-    EWK_INPUT_TYPE_MONTH,
-    EWK_INPUT_TYPE_TIME,
-    EWK_INPUT_TYPE_WEEK
-};
-typedef enum Ewk_Input_Type Ewk_Input_Type;
-// #endif // ENABLE(TIZEN_INPUT_TAG_EXTENSION)
 
-// #if ENABLE(TIZEN_WEBKIT2_TEXT_SELECTION)
 /**
- * \enum    Ewk_Selection_Handle_Type
- * @brief   Provides type of selection handle
- */
-enum Ewk_Selection_Handle_Type {
-    EWK_SELECTION_HANDLE_TYPE_LEFT,
-    EWK_SELECTION_HANDLE_TYPE_RIGHT,
-    EWK_SELECTION_HANDLE_TYPE_LARGE
-};
-typedef enum Ewk_Selection_Handle_Type Ewk_Selection_Handle_Type;
-// #endif // ENABLE(TIZEN_WEBKIT2_TEXT_SELECTION)
-// #endif // #if PLATFORM(TIZEN)
-
-enum Ewk_View_Mode {
-    EWK_VIEW_MODE_WINDOWED = 0,
-    EWK_VIEW_MODE_FLOATING,
-    EWK_VIEW_MODE_FULLSCREEN,
-    EWK_VIEW_MODE_MAXIMIZED,
-    EWK_VIEW_MODE_MINIMIZED
-};
-typedef enum Ewk_View_Mode Ewk_View_Mode;
-
-/// Ewk view's class, to be overridden by sub-classes.
-struct Ewk_View_Smart_Class {
-    Evas_Smart_Class sc; /**< all but 'data' is free to be changed. */
-    unsigned long version;
-
-    Evas_Object* (*window_create)(Ewk_View_Smart_Data *sd, const Ewk_Window_Features *window_features); /**< creates a new window, requested by webkit */
-    void (*window_close)(Ewk_View_Smart_Data *sd); /**< closes a window */
-
-    Eina_Bool (*popup_menu_show)(Ewk_View_Smart_Data *sd, Eina_Rectangle rect, Ewk_Text_Direction text_direction, double page_scale_factor, Eina_List* items, int selected_index);
-    Eina_Bool (*popup_menu_hide)(Ewk_View_Smart_Data *sd);
-    Eina_Bool (*popup_menu_update)(Ewk_View_Smart_Data *sd, Eina_Rectangle rect, Ewk_Text_Direction text_direction, Eina_List* items, int selected_index);
-
-    Eina_Bool (*text_selection_down)(Ewk_View_Smart_Data *sd, int x, int y);
-    Eina_Bool (*text_selection_up)(Ewk_View_Smart_Data *sd, int x, int y);
-
-    Eina_Bool (*input_picker_show)(Ewk_View_Smart_Data *sd, Ewk_Input_Type inputType, const char* inputValue);
-
-    Eina_Bool (*orientation_lock)(Ewk_View_Smart_Data* sd, int orientations);
-    void (*orientation_unlock)(Ewk_View_Smart_Data* sd);
-
-    // event handling:
-    //  - returns true if handled
-    //  - if overridden, have to call parent method if desired
-    Eina_Bool (*focus_in)(Ewk_View_Smart_Data *sd);
-    Eina_Bool (*focus_out)(Ewk_View_Smart_Data *sd);
-    Eina_Bool (*fullscreen_enter)(Ewk_View_Smart_Data *sd, Ewk_Security_Origin *origin);
-    Eina_Bool (*fullscreen_exit)(Ewk_View_Smart_Data *sd);
-    Eina_Bool (*mouse_wheel)(Ewk_View_Smart_Data *sd, const Evas_Event_Mouse_Wheel *ev);
-    Eina_Bool (*mouse_down)(Ewk_View_Smart_Data *sd, const Evas_Event_Mouse_Down *ev);
-    Eina_Bool (*mouse_up)(Ewk_View_Smart_Data *sd, const Evas_Event_Mouse_Up *ev);
-    Eina_Bool (*mouse_move)(Ewk_View_Smart_Data *sd, const Evas_Event_Mouse_Move *ev);
-    Eina_Bool (*key_down)(Ewk_View_Smart_Data *sd, const Evas_Event_Key_Down *ev);
-    Eina_Bool (*key_up)(Ewk_View_Smart_Data *sd, const Evas_Event_Key_Up *ev);
-
-    // color picker:
-    //   - Shows and hides color picker.
-    Eina_Bool (*input_picker_color_request)(Ewk_View_Smart_Data *sd, int r, int g, int b, int a);
-    Eina_Bool (*input_picker_color_dismiss)(Ewk_View_Smart_Data *sd);
-
-    // storage:
-    //   - Web database.
-    unsigned long long (*exceeded_database_quota)(Ewk_View_Smart_Data *sd, const char *databaseName, const char *displayName, unsigned long long currentQuota, unsigned long long currentOriginUsage, unsigned long long currentDatabaseUsage, unsigned long long expectedUsage);
-
-    Eina_Bool (*formdata_candidate_show)(Ewk_View_Smart_Data *sd, int x, int y, int w, int h);
-    Eina_Bool (*formdata_candidate_hide)(Ewk_View_Smart_Data *sd);
-    Eina_Bool (*formdata_candidate_update_data)(Ewk_View_Smart_Data *sd, Eina_List *dataList);
-    Eina_Bool (*formdata_candidate_is_showing)(Ewk_View_Smart_Data *sd);
-
-    Eina_Bool (*gesture_start)(Ewk_View_Smart_Data *sd, const Ewk_Event_Gesture *ev);
-    Eina_Bool (*gesture_end)(Ewk_View_Smart_Data *sd, const Ewk_Event_Gesture *ev);
-    Eina_Bool (*gesture_move)(Ewk_View_Smart_Data *sd, const Ewk_Event_Gesture *ev);
-
-    void (*selection_handle_down)(Ewk_View_Smart_Data *sd, Ewk_Selection_Handle_Type handleType, int x, int y);
-    void (*selection_handle_move)(Ewk_View_Smart_Data *sd, Ewk_Selection_Handle_Type handleType, int x, int y);
-    void (*selection_handle_up)(Ewk_View_Smart_Data *sd, Ewk_Selection_Handle_Type handleType, int x, int y);
-
-    Eina_Bool (*window_geometry_set)(Ewk_View_Smart_Data *sd, Evas_Coord x, Evas_Coord y, Evas_Coord width, Evas_Coord height);
-    Eina_Bool (*window_geometry_get)(Ewk_View_Smart_Data *sd, Evas_Coord *x, Evas_Coord *y, Evas_Coord *width, Evas_Coord *height);
-};
-
-// #if PLATFORM(TIZEN)
-/**
- * Callback for ewk_view_web_app_capable_get
+ * @brief Request to set the current page's visibility.
  *
- * @param capable web application capable
- * @param user_data user_data will be passsed when ewk_view_web_app_capable_get is called
- */
-typedef void (*Ewk_Web_App_Capable_Get_Callback)(Eina_Bool capable, void* user_data);
-
-/**
- * Callback for ewk_view_web_app_icon_get
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
  *
- * @param icon_url web application icon
- * @param user_data user_data will be passsed when ewk_view_web_app_icon_get is called
- */
-typedef void (*Ewk_Web_App_Icon_URL_Get_Callback)(const char* icon_url, void* user_data);
-
-/**
- * Callback for ewk_view_screenshot_contents_get_async
+ * @param[in] o View object to set the visibility.
+ * @param[in] enable EINA_TRUE to set on the visibility of the page,
+ *            EINA_FALSE otherwise.
  *
- * @param image captured screenshot
- * @param user_data user_data will be passsed when ewk_view_screenshot_contents_get_async is called
+ * @return @c EINA_TRUE on success, othetwise @c EINA_FALSE
  */
-typedef void (*Ewk_Web_App_Screenshot_Captured_Callback)(Evas_Object* image, void* user_data);
+EXPORT_API Eina_Bool ewk_view_visibility_set(const Evas_Object* o, Eina_Bool enable);
 
 /**
- * Callback for ewk_view_web_app_icon_urls_get.
+ * @brief Sends the orientation of the device.
  *
- * @param icon_urls list of Ewk_Web_App_Icon_Data for web app
- * @param user_data user_data will be passsed when ewk_view_web_app_icon_urls_get is called
- */
-typedef void (*Ewk_Web_App_Icon_URLs_Get_Callback)(Eina_List *icon_urls, void *user_data);
-// #endif
-
-/**
- * Callback for ewk_view_notification_permission_callback_set
+ * If orientation value is changed, orientationchanged event will occur.
  *
- * @param o view object to request the notification permission
- * @param request Ewk_Notification_Permission_Request object to get the information about notification permission request.
- * @param user_data user data
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
  *
- * @return returned value is not used
- */
-typedef Eina_Bool (*Ewk_View_Notification_Permission_Callback)(Evas_Object *o, Ewk_Notification_Permission_Request *request, void *user_data);
-
-/**
- * The version you have to put into the version field
- * in the @a Ewk_View_Smart_Class structure.
- */
-#define EWK_VIEW_SMART_CLASS_VERSION 1UL
-
-/**
- * Initializer for whole Ewk_View_Smart_Class structure.
+ * @param[in] o View object to receive orientation event.
+ * @param[in] orientation The new orientation of the device. (degree)
  *
- * @param smart_class_init initializer to use for the "base" field
- * (Evas_Smart_Class).
- *
- * @see EWK_VIEW_SMART_CLASS_INIT_NULL
- * @see EWK_VIEW_SMART_CLASS_INIT_VERSION
- * @see EWK_VIEW_SMART_CLASS_INIT_NAME_VERSION
+ * orientation will be 0 degrees when the device is oriented to natural position
+ *                  ,-90 degrees when it's left side is at the top
+ *                  , 90 degrees when it's right side is at the top
+ *                  ,180 degrees when it is upside down.
  */
-#define EWK_VIEW_SMART_CLASS_INIT(smart_class_init) {smart_class_init, EWK_VIEW_SMART_CLASS_VERSION}
-
-/**
-* Initializer to zero a whole Ewk_View_Smart_Class structure.
-*
-* @see EWK_VIEW_SMART_CLASS_INIT_VERSION
-* @see EWK_VIEW_SMART_CLASS_INIT_NAME_VERSION
-* @see EWK_VIEW_SMART_CLASS_INIT
-*/
-#define EWK_VIEW_SMART_CLASS_INIT_NULL EWK_VIEW_SMART_CLASS_INIT(EVAS_SMART_CLASS_INIT_NULL)
+EXPORT_API void ewk_view_orientation_send(Evas_Object *o, int orientation);
 
 /**
- * Initializer to zero a whole Ewk_View_Smart_Class structure and set
- * name and version.
+ * @if MOBILE
+ * @brief Returns the selection text.
  *
- * Similar to EWK_VIEW_SMART_CLASS_INIT_NULL, but will set version field of
- * Evas_Smart_Class (base field) to latest EVAS_SMART_CLASS_VERSION and name
- * to the specific value.
+ * @details Returned string becomes invalidated upon next call to this api.
  *
- * It will keep a reference to name field as a "const char *", that is,
- * name must be available while the structure is used (hint: static or global!)
- * and will not be modified.
+ * @since_tizen 2.4
  *
- * @see EWK_VIEW_SMART_CLASS_INIT_NULL
- * @see EWK_VIEW_SMART_CLASS_INIT_VERSION
- * @see EWK_VIEW_SMART_CLASS_INIT
- */
-#define EWK_VIEW_SMART_CLASS_INIT_NAME_VERSION(name) EWK_VIEW_SMART_CLASS_INIT(EVAS_SMART_CLASS_INIT_NAME_VERSION(name))
-
-typedef struct EwkViewImpl EwkViewImpl;
-/**
- * @brief Contains an internal View data.
+ * @param[in] o View object to get selection text.
  *
- * It is to be considered private by users, but may be extended or
- * changed by sub-classes (that's why it's in public header file).
+ * @return @c selection text, otherwise @c NULL
+ * @endif
  */
-struct Ewk_View_Smart_Data {
-    Evas_Object_Smart_Clipped_Data base;
-    const Ewk_View_Smart_Class* api; /**< reference to casted class instance */
-    Evas_Object* self; /**< reference to owner object */
-    EwkViewImpl* priv; /**< should never be accessed, c++ stuff */
-    struct {
-        Evas_Coord x, y, w, h; /**< last used viewport */
-    } view;
-    struct { /**< what changed since last smart_calculate */
-        Eina_Bool any:1;
-
-        // WebKit use these but we don't. We should remove these if we are sure
-        // we do it right.
-        Eina_Bool size:1;
-        Eina_Bool position:1;
-    } changed;
-};
+EXPORT_API const char* ewk_view_text_selection_text_get(Evas_Object* o);
 
 /**
- * Sets the smart class APIs, enabling view to be inherited.
- *
- * @param api class definition to set, all members with the
- *        exception of @a Evas_Smart_Class->data may be overridden, must
- *        @b not be @c NULL
+ * @if MOBILE
+ * @brief Clears the current selection.
  *
- * @note @a Evas_Smart_Class->data is used to implement type checking and
- *       is not supposed to be changed/overridden. If you need extra
- *       data for your smart class to work, just extend
- *       Ewk_View_Smart_Class instead.
- *       The Evas_Object which inherits the ewk_view should use
- *       ewk_view_smart_add() to create Evas_Object instead of
- *       evas_object_smart_add() because it performs additional initialization
- *       for the ewk_view.
+ * @since_tizen 2.4
  *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure (probably
- *         version mismatch)
+ * @param[in] o View object with selection in progress
  *
- * @see ewk_view_smart_add()
+ * @return @c EINA_TRUE on success, otherwise @c EINA_FALSE
+ * @endif
  */
-EXPORT_API Eina_Bool ewk_view_smart_class_set(Ewk_View_Smart_Class *api);
+EXPORT_API Eina_Bool ewk_view_text_selection_clear(Evas_Object* o);
 
 /**
- * Creates a new EFL WebKit view object with Evas_Smart and Ewk_Context.
+ * @brief Creates a new EFL Chromium view object.
  *
- * @note The Evas_Object which inherits the ewk_view should create its
- *       Evas_Object using this API instead of evas_object_smart_add()
- *       because the default initialization for ewk_view is done in this API.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param e canvas object where to create the view object
- * @param smart Evas_Smart object. Its type should be EWK_VIEW_TYPE_STR
- * @param context Ewk_Context object which is used for initializing
- * @param pageGroup Ewk_Page_Group object which is used for initializing
+ * @param[in] e The canvas object where to create the view object
  *
- * @return view object on success or @c NULL on failure
+ * @return The view object on success,\n
+ *         otherwise @c NULL on failure
  */
-EXPORT_API Evas_Object *ewk_view_smart_add(Evas *e, Evas_Smart *smart, Ewk_Context *context, Ewk_Page_Group *pageGroup);
+EXPORT_API Evas_Object* ewk_view_add(Evas* e);
 
 /**
- * Enum values used to specify search options.
- * @brief   Provides option to find text
- * @info    Keep this in sync with WKFindOptions.h
- */
-enum _Ewk_Find_Options {
-  EWK_FIND_OPTIONS_NONE, /**< no search flags, this means a case sensitive, no wrap, forward only search. */
-  EWK_FIND_OPTIONS_CASE_INSENSITIVE = 1 << 0, /**< case insensitive search. */
-  EWK_FIND_OPTIONS_BACKWARDS = 1 << 3, /**< search backwards. */
-  EWK_FIND_OPTIONS_AT_WORD_STARTS = 1 << 1, /**< search text only at the beginning of the words. */
-  EWK_FIND_OPTIONS_TREAT_MEDIAL_CAPITAL_AS_WORD_START = 1 << 2, /**< treat capital letters in the middle of words as word start. */
-  EWK_FIND_OPTIONS_WRAP_AROUND = 1 << 4, /**< if not present search will stop at the end of the document. */
-  EWK_FIND_OPTIONS_SHOW_OVERLAY = 1 << 5, /**< show overlay */
-  EWK_FIND_OPTIONS_SHOW_FIND_INDICATOR = 1 << 6, /**< show indicator */
-  EWK_FIND_OPTIONS_SHOW_HIGHLIGHT = 1 << 7 /**< show highlight */
-};
-typedef enum _Ewk_Find_Options Ewk_Find_Options;
-
-/**
- * Creates a new EFL WebKit view object.
- *
- * @param e canvas object where to create the view object
- * @param data a pointer to data to restore session data
- * @param length length of session data to restore session data
- *
- * @return view object on success or @c NULL on failure
- */
-EXPORT_API Evas_Object* ewk_view_add_with_session_data(Evas *e, const char *data, unsigned length);
-
-/**
- * Creates a new EFL WebKit view object.
- *
- * @note If used to created a new ewk_view object in response to a
- *       "create,window" smart signal (emitted by the web engine), this
- *       function can only be used if the originating ewk_view object was
- *       created with the default context, e.g:
- *
- *       - Scenario 1: parent created with default context:
- *
- *         parent_view = ewk_view_add(evas); // uses the default context.
- *                                 or
- *         parent_view = ewk_view_add_with_context(evas, ewk_context_default_get());
- *                                 then
- *         // Valid case:
- *         child_view = ewk_view_add(evas);
- *
- *       - Scenario 2: if parent created with a new context,
+ * @brief Creates a new EFL web view object in incognito mode.
  *
- *         parent_view = ewk_view_add_with_context(evas, ewk_context_new());
- *                                 then
- *         // Valid cases: None. ewk_view_add must not be used while creating a ewk_view
- *                         in response to create,window smart signal if parent webview was
- *                         create with a context different than default context.
+ * @since_tizen 3.0
  *
- *         // Invalid case:
- *         child_view = ewk_view_add(evas);
+ * @param[in] e The canvas object where to create the view object
  *
- * @param e canvas object where to create the view object
- *
- * @return view object on success or @c NULL on failure
- */
-EXPORT_API Evas_Object *ewk_view_add(Evas *e);
-
-/**
- * Creates a new EFL web view object in incognito mode.
- *
- * @param e canvas object where to create the view object
- *
- * @return view object on success or @c NULL on failure
+ * @return The view object on success,\n
+ *         otherwise @c NULL on failure
  */
 EXPORT_API Evas_Object *ewk_view_add_in_incognito_mode(Evas *e);
 
 /**
- * Creates a new EFL WebKit view object based on specific Ewk_Context.
- *
- * @note If used to created a new ewk_view object in response to a
- *       "create,window" smart signal (emitted by the web engine), this
- *       function must pass as context parameter the same context instance
- *       as of the originating ewk_view object's context, e.g.:
- *
- *       - Scenario 1: parent view created with default context:
- *
- *         parent_view = ewk_view_add(evas); // uses the default context.
- *                                 or
- *         parent_view = ewk_view_add_with_context(evas, ewk_context_default_get());
- *                                 then
- *         // Valid cases:
- *         child_view = ewk_view_add_with_context(evas, ewk_view_context_get(parent_view));
- *                                 or
- *         child_view = ewk_view_add_with_context(evas, ewk_context_default_get());
- *
- *         // Invalid case:
- *         view_view = ewk_view_add_with_context(evas, ewk_context_new());
- *
- *       - Scenario 2: parent created with a new context:
- *
- *         parent_view = ewk_view_add_with_context(evas, ewk_context_new());
- *                                 then
- *         // Valid case:
- *         child_view = ewk_view_add_with_context(evas, ewk_view_context_get(parent_view));
- *
- *         // Invalid cases:
- *         child_view = ewk_view_add_with_context(evas, ewk_context_new());
- *                                 or
- *         child_view = ewk_view_add_with_context(evas, ewk_context_default_get());
- *
- * @param e canvas object where to create the view object
- * @param context Ewk_Context object to declare process model
- *
- * @return view object on success or @c NULL on failure
- */
-EXPORT_API Evas_Object *ewk_view_add_with_context(Evas *e, Ewk_Context *context);
-
-/**
- * Gets the Ewk_Context of this view.
+ * @brief Gets the #Ewk_Context of this view.
  *
- * @param o the view object to get the Ewk_Context
- *
- * @return the Ewk_Context of this view or @c NULL on failure
- */
-EXPORT_API Ewk_Context *ewk_view_context_get(const Evas_Object *o);
-
-/**
- * Asks the object to load the given URL.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param o view object to load @a URL
- * @param url uniform resource identifier to load
+ * @param[in] o The view object to get the #Ewk_Context
  *
- * @return @c EINA_TRUE is returned if @a o is valid, irrespective of load,
- *         or @c EINA_FALSE on failure
+ * @return The #Ewk_Context of this view,\n
+ *         otherwise @c NULL on failure
  */
-EXPORT_API Eina_Bool ewk_view_url_set(Evas_Object *o, const char *url);
+EXPORT_API Ewk_Context* ewk_view_context_get(const Evas_Object* o);
 
 /**
- * Returns the current URL string of view object.
+ * @brief Asks the object to load the given URL.
  *
- * It returns an internal string and should not
- * be modified. The string is guaranteed to be stringshared.
+ * @remarks You can only be sure that url changed after ewk view\n
+ *          smart callback 'url,changed' is called. This is important for\n
+ *          EWK API functions which operate on pages.
  *
- * @param o view object to get current URL
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @return current URL on success or @c NULL on failure
- */
-EXPORT_API const char *ewk_view_url_get(const Evas_Object *o);
-
-/**
- * Asks the main frame to reload the current document.
+ * @param[in] o The view object to load @a url
+ * @param[in] url The uniform resource identifier to load
  *
- * @param o view object to reload current document
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
- *
- * @see ewk_view_reload_bypass_cache()
+ * @return @c EINA_TRUE if @a o is valid, irrespective of load,\n
+ *         otherwise @c EINA_FALSE on failure
  */
-EXPORT_API Eina_Bool ewk_view_reload(Evas_Object *o);
+EXPORT_API Eina_Bool ewk_view_url_set(Evas_Object* o, const char* url);
 
 /**
- * Reloads the current page's document without cache.
+ * @brief Returns the current URL string of the view object.
  *
- * @param o view object to reload current document
+ * @details It returns an internal string that should not be modified.\n
+ *          The string is guaranteed to be stringshared.
  *
- * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
- */
-EXPORT_API Eina_Bool ewk_view_reload_bypass_cache(Evas_Object *o);
-
-/**
- * Asks the main frame to stop loading.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param o view object to stop loading
+ * @param[in] o The view object to get the current URL
  *
- * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise.
+ * @return The current URL on success,\n
+ *         otherwise @c NULL on failure
  */
-EXPORT_API Eina_Bool ewk_view_stop(Evas_Object* o);
-
-
-enum Ewk_Page_Visibility_State {
-    EWK_PAGE_VISIBILITY_STATE_VISIBLE,
-    EWK_PAGE_VISIBILITY_STATE_HIDDEN,
-    EWK_PAGE_VISIBILITY_STATE_PRERENDER
-};
-typedef enum Ewk_Page_Visibility_State Ewk_Page_Visibility_State;
-
-enum Ewk_Http_Method {
-    EWK_HTTP_METHOD_GET,
-    EWK_HTTP_METHOD_HEAD,
-    EWK_HTTP_METHOD_POST,
-    EWK_HTTP_METHOD_PUT,
-    EWK_HTTP_METHOD_DELETE,
-};
-typedef enum Ewk_Http_Method Ewk_Http_Method;
+EXPORT_API const char* ewk_view_url_get(const Evas_Object* o);
 
 /**
- * Callback for ewk_view_script_execute
+ * @brief Asks the main frame to reload the current document.
  *
- * @param o the view object
- * @param result_value value returned by script
- * @param user_data user data
- */
-typedef void (*Ewk_View_Script_Execute_Callback)(Evas_Object* o, const char* result_value, void* user_data);
-
-/**
- * Callback for ewk_view_plain_text_get
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param o the view object
- * @param plain_text the contents of the given frame converted to plain text
- * @param user_data user data
- */
-typedef void (*Ewk_View_Plain_Text_Get_Callback)(Evas_Object* o, const char* plain_text, void* user_data);
-
-/**
- * Creates a type name for the callback function used to get the page contents.
+ * @param[in] o The view object to reload the current document
  *
- * @param o view object
- * @param data mhtml data of the page contents
- * @param user_data user data will be passed when ewk_view_mhtml_data_get is called
+ * @return @c EINA_TRUE on success,\n
+ *         otherwise @c EINA_FALSE
  */
-typedef void (*Ewk_View_MHTML_Data_Get_Callback)(Evas_Object *o, const char *data, void *user_data);
-
-
-EXPORT_API Eina_Bool ewk_view_vertical_panning_hold_get(Evas_Object* o);
+EXPORT_API Eina_Bool ewk_view_reload(Evas_Object* o);
 
 /**
-  * Block/Release the vertical pan
-  *
-  * @param o view object on which pan is to be blocked/release
-  * @param hold status of pan
-  */
-EXPORT_API void ewk_view_vertical_panning_hold_set(Evas_Object* o, Eina_Bool hold);
-
-/**
- * Gets the minimum and maximum value of the scale range or -1 on failure
- *
- * @param o view object to get the minimum and maximum value of the scale range
- * @param min_scale Pointer to an double in which to store the minimum scale factor of the object.
- * @param max_scale Pointer to an double in which to store the maximum scale factor of the object.
+ * @brief Asks the main frame to stop loading.
  *
- * @note Use @c NULL pointers on the scale components you're not
- * interested in: they'll be ignored by the function.
- */
-EXPORT_API void ewk_view_scale_range_get(Evas_Object* o, double* min_scale, double* max_scale);
-
-/**
- * Gets the current text zoom level.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param o view object to get the zoom level
+ * @param[in] o The view object to stop loading
  *
- * @return current zoom level in use on success or @c -1.0 on failure
+ * @return @c EINA_TRUE on success,\n
+ *         otherwise @c EINA_FALSE
  */
-EXPORT_API double ewk_view_text_zoom_get(const Evas_Object* o);
+EXPORT_API Eina_Bool ewk_view_stop(Evas_Object* o);
 
 /**
- * Sets the current text zoom level.
+ * @brief Gets the #Ewk_Settings of this view.
  *
- * @param o view object to set the zoom level
- * @param textZoomFactor a new level to set
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
- */
-EXPORT_API Eina_Bool ewk_view_text_zoom_set(Evas_Object* o, double text_zoom_factor);
-
-EXPORT_API void ewk_view_suspend(Evas_Object* o);
-EXPORT_API void ewk_view_resume(Evas_Object* o);
-
-/**
- * @typedef Ewk_View_Script_Execute_Cb Ewk_View_Script_Execute_Cb
- * @brief Callback type for use with ewk_view_script_execute()
- */
-typedef void (*Ewk_View_Script_Execute_Cb)(Evas_Object *o, const char *return_value, void *user_data);
-
-typedef Eina_Bool (*Ewk_View_Password_Confirm_Popup_Callback)(Evas_Object* o, const char* message, void* user_data);
-EXPORT_API void ewk_view_password_confirm_popup_callback_set(Evas_Object* o, Ewk_View_Password_Confirm_Popup_Callback callback, void* user_data);
-EXPORT_API void ewk_view_password_confirm_popup_reply(Evas_Object* o, Ewk_Password_Popup_Option result);
-
-typedef Eina_Bool (*Ewk_View_JavaScript_Alert_Callback)(Evas_Object* o, const char* alert_text, void* user_data);
-EXPORT_API void ewk_view_javascript_alert_callback_set(Evas_Object* o, Ewk_View_JavaScript_Alert_Callback callback, void* user_data);
-EXPORT_API void ewk_view_javascript_alert_reply(Evas_Object* o);
-
-
-typedef Eina_Bool (*Ewk_View_JavaScript_Confirm_Callback)(Evas_Object* o, const char* message, void* user_data);
-EXPORT_API void ewk_view_javascript_confirm_callback_set(Evas_Object* o, Ewk_View_JavaScript_Confirm_Callback callback, void* user_data);
-/**
- * Handle javascript confirm dialog reply
+ * @param[in] o The view object to get the #Ewk_Settings
  *
- * @param o view object
- * @param result boolean result contains true when ok is pressed false when cancel is pressed on the dialog
+ * @return The #Ewk_Settings of this view,\n
+ *         otherwise @c NULL on failure
  */
-EXPORT_API void ewk_view_javascript_confirm_reply(Evas_Object* o, Eina_Bool result);
+EXPORT_API Ewk_Settings* ewk_view_settings_get(const Evas_Object* o);
 
 /**
- * Callback for ewk_view_javascript_prompt_callback_set
+ * @brief Asks the main frame to navigate back in history.
  *
- * @param o the view object
- * @param message the text to be displayed on the prompt popup
- * @param default_value default text to be entered in the prompt dialog
- * @param user_data user data
- */
-typedef Eina_Bool (*Ewk_View_JavaScript_Prompt_Callback)(Evas_Object* o, const char* message, const char* default_value, void* user_data);
-
-/**
- * Display javascript prompt popup
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param o view object
- * @param callback callback function to be called when the prompt popup is to be opened
- * @param user_data user data
+ * @param[in] o The view object to navigate back
  *
+ * @return @c EINA_TRUE on success,\n
+ *         otherwise @c EINA_FALSE
  */
-EXPORT_API void ewk_view_javascript_prompt_callback_set(Evas_Object* o, Ewk_View_JavaScript_Prompt_Callback callback, void* user_data);
+EXPORT_API Eina_Bool ewk_view_back(Evas_Object* o);
 
 /**
- * Handle javascript prompt dialog reply
+ * @brief Asks the main frame to navigate forward in history.
  *
- * @param o view object
- * @param result value entered in the prompt dialog
- */
-EXPORT_API void ewk_view_javascript_prompt_reply(Evas_Object* o, const char* result);
-
-
-//#if ENABLE(TIZEN_SUPPORT_BEFORE_UNLOAD_CONFIRM_PANEL)
-typedef Eina_Bool (*Ewk_View_Before_Unload_Confirm_Panel_Callback)(Evas_Object* o, const char* message, void* user_data);
-EXPORT_API void ewk_view_before_unload_confirm_panel_callback_set(Evas_Object* o, Ewk_View_Before_Unload_Confirm_Panel_Callback callback, void* user_data);
-EXPORT_API void ewk_view_before_unload_confirm_panel_reply(Evas_Object* o, Eina_Bool result);
-//#endif
-
-//#if ENABLE(TIZEN_APPLICATION_CACHE)
-typedef Eina_Bool (*Ewk_View_Applicacion_Cache_Permission_Callback)(Evas_Object* o, Ewk_Security_Origin* origin,  void* user_data);
-EXPORT_API void ewk_view_application_cache_permission_callback_set(Evas_Object* o, Ewk_View_Applicacion_Cache_Permission_Callback callback, void* user_data);
-EXPORT_API void ewk_view_application_cache_permission_reply(Evas_Object* o, Eina_Bool allow);
-//#endif
-
-typedef Eina_Bool (*Ewk_View_Exceeded_Indexed_Database_Quota_Callback)(Evas_Object* o, Ewk_Security_Origin* origin, long long currentQuota, void* user_data);
-EXPORT_API void ewk_view_exceeded_indexed_database_quota_callback_set(Evas_Object* o, Ewk_View_Exceeded_Indexed_Database_Quota_Callback callback, void* user_data);
-EXPORT_API void ewk_view_exceeded_indexed_database_quota_reply(Evas_Object* o, Eina_Bool allow);
-
-
-typedef Eina_Bool (*Ewk_View_Exceeded_Database_Quota_Callback)(Evas_Object* o, Ewk_Security_Origin* origin, const char* database_name, unsigned long long expectedQuota, void* user_data);
-EXPORT_API void ewk_view_exceeded_database_quota_callback_set(Evas_Object* o, Ewk_View_Exceeded_Database_Quota_Callback callback, void* user_data);
-EXPORT_API void ewk_view_exceeded_database_quota_reply(Evas_Object* o, Eina_Bool allow);
-
-typedef Eina_Bool (*Ewk_View_Exceeded_Local_File_System_Quota_Callback)(Evas_Object* o, Ewk_Security_Origin* origin, long long currentQuota, void* user_data);
-EXPORT_API void ewk_view_exceeded_local_file_system_quota_callback_set(Evas_Object* o, Ewk_View_Exceeded_Local_File_System_Quota_Callback callback, void* user_data);
-EXPORT_API void ewk_view_exceeded_local_file_system_quota_reply(Evas_Object* o, Eina_Bool allow);
-
-//#if ENABLE(TIZEN_INTERCEPT_REQUEST)
-typedef void (*Ewk_View_Intercept_Request_Callback)(Evas_Object* o, Ewk_Intercept_Request* interceptRequest, void* user_data);
-EXPORT_API void ewk_view_intercept_request_callback_set (Evas_Object *o, Ewk_View_Intercept_Request_Callback callback, void* user_data);
-//#endif
-
-//#if ENABLE(TIZEN_FOCUS_UI)
-typedef Eina_Bool (*Ewk_View_Unfocus_Allow_Callback)(Evas_Object* o, Ewk_Unfocus_Direction direction, void* user_data);
-EXPORT_API void ewk_view_unfocus_allow_callback_set (Evas_Object *o, Ewk_View_Unfocus_Allow_Callback callback, void* user_data);
-//#endif
-
-typedef Eina_Bool (*Ewk_View_Geolocation_Permission_Callback)(Evas_Object* ewk_view, Ewk_Geolocation_Permission_Request* geolocation_permission_request, void* user_data);
-EXPORT_API void ewk_view_geolocation_permission_callback_set(Evas_Object* ewk_view, Ewk_View_Geolocation_Permission_Callback callback, void* user_data);
-
-typedef Eina_Bool (*Ewk_View_User_Media_Permission_Callback)(
-    Evas_Object* ewk_view,
-    Ewk_User_Media_Permission_Request* user_media_permission_request,
-    void* user_data);
-EXPORT_API void ewk_view_user_media_permission_callback_set(
-    Evas_Object* ewk_view,
-    Ewk_View_User_Media_Permission_Callback callback,
-    void* user_data);
-
-EXPORT_API Eina_Bool ewk_view_mode_set(Evas_Object* ewkView, Ewk_View_Mode view_mode);
-
-/**
- * Gets the Ewk_Settings of this view.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param o view object to get Ewk_Settings
+ * @param[in] o The view object to navigate forward
  *
- * @return the Ewk_Settings of this view or @c NULL on failure
+ * @return @c EINA_TRUE on success,\n
+ *         otherwise @c EINA_FALSE
  */
-EXPORT_API Ewk_Settings *ewk_view_settings_get(const Evas_Object *o);
-
+EXPORT_API Eina_Bool ewk_view_forward(Evas_Object* o);
 /**
- * Asks the main frame to navigate back in the history.
+ * @brief Checks whether it is possible to navigate backwards one item in
+ *         history.
  *
- * @param o view object to navigate back
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
+ * @param[in] o The view object to query if backward navigation is possible
  *
- * @see ewk_frame_back()
+ * @return @c EINA_TRUE if it is possible to navigate backwards in history,\n
+ *         otherwise @c EINA_FALSE
  */
-EXPORT_API Eina_Bool ewk_view_back(Evas_Object *o);
+EXPORT_API Eina_Bool ewk_view_back_possible(Evas_Object* o);
 
 /**
- * Asks the main frame to navigate forward in the history.
+ * @brief Checks whether it is possible to navigate forwards one item in
+ *        history.
  *
- * @param o view object to navigate forward
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
+ * @param[in] o The view object to query if forward navigation is possible
  *
- * @see ewk_frame_forward()
+ * @return @c EINA_TRUE if it is possible to navigate forwards in history,\n
+ *         otherwise @c EINA_FALSE
  */
-EXPORT_API Eina_Bool ewk_view_forward(Evas_Object *o);
+EXPORT_API Eina_Bool ewk_view_forward_possible(Evas_Object* o);
 
 /**
- * Queries if it is possible to navigate backwards one item in the history.
+ * @brief Gets the back-forward list associated with this view.
  *
- * @param o view object to query if backward navigation is possible
+ * @details The returned instance is unique for this view and thus multiple
+ *          calls\n
+ *          to this function with the same view as a parameter returns the
+ *          same handle.\n
+ *          This handle is alive while the view is alive, thus one might want\n
+ *          to listen for EVAS_CALLBACK_DEL on a given view (@a o) to know\n
+ *          when to stop using the returned handle.
  *
- * @return @c EINA_TRUE if it is possible to navigate backwards in the history, @c EINA_FALSE otherwise
- */
-EXPORT_API Eina_Bool ewk_view_back_possible(Evas_Object *o);
-
-/**
- * Queries if it is possible to navigate forwards one item in the history.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param o view object to query if forward navigation is possible
+ * @param[in] o The view object to get the back-forward navigation list
  *
- * @return @c EINA_TRUE if it is possible to navigate forwards in the history, @c EINA_FALSE otherwise
+ * @return The back-forward list instance handle associated with this view
  */
-EXPORT_API Eina_Bool ewk_view_forward_possible(Evas_Object *o);
+EXPORT_API Ewk_Back_Forward_List* ewk_view_back_forward_list_get(const Evas_Object* o);
 
 /**
- * Gets the current title of the main frame.
+ * @brief Clears the back-forward list of a page.
  *
- * It returns an internal string and should not
- * be modified. The string is guaranteed to be stringshared.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param o view object to get current title
- *
- * @return current title on success or @c NULL on failure
+ * @param[in] o The view object to clear the back-forward list
  */
-EXPORT_API const char *ewk_view_title_get(const Evas_Object *o);
+EXPORT_API void ewk_view_back_forward_list_clear(const Evas_Object* o);
 
 /**
- * Gets the current load progress of page.
- *
- * The progress estimation from 0.0 to 1.0.
+ * @brief Gets the current title of the main frame.
  *
- * @param o view object to get the current progress
+ * @details It returns an internal string that should not be modified.\n
+ *          The string is guaranteed to be stringshared.
  *
- * @return the load progress of page, value from 0.0 to 1.0,
- *         or @c -1.0 on failure
- */
-EXPORT_API double ewk_view_load_progress_get(const Evas_Object *o);
-
-/*
- * Requests loading of the given request data.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param o view object to load
- * @param url uniform resource identifier to load
- * @param method http method
- * @param headers http headers
- * @param body http body data
+ * @param[in] o The view object to get the current title
  *
- * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
+ * @return The current title on success,\n
+ *         otherwise @c NULL on failure
  */
-EXPORT_API Eina_Bool ewk_view_url_request_set(Evas_Object* o, const char* url, Ewk_Http_Method method, Eina_Hash* headers, const char* body);
+EXPORT_API const char* ewk_view_title_get(const Evas_Object* o);
 
 /**
- * Requests the specified plain text string into the view object
+ * @brief Gets the current load progress of the page.
  *
- * @note The mime type of document will be "text/plain".
+ * @details The progress estimation from @c 0.0 to @c 1.0.
  *
- * @return @c EINA_TRUE on successful request, @c EINA_FALSE on errors
- */
-EXPORT_API Eina_Bool ewk_view_plain_text_set(Evas_Object* o, const char* plain_text);
-
-/**
- * Requests loading the given contents by mime type into the view object.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param o view object to load
- * @param contents what to load
- * @param contents_size size of @a contents (in bytes),
- * @param mime_type type of @a contents data, if @c 0 is given "text/html" is assumed
- * @param encoding encoding for @a contents data, if @c 0 is given "UTF-8" is assumed
- * @param base_uri base uri to use for relative resources, may be @c 0,
- *        if provided @b must be an absolute uri
+ * @param[in] o The view object to get the current progress
  *
- * @return @c EINA_TRUE on successful request, @c EINA_FALSE on errors
+ * @return The load progress of the page, value from @c 0.0 to @c 1.0,\n
+ *         otherwise @c -1.0 on failure
  */
-EXPORT_API Eina_Bool ewk_view_contents_set(Evas_Object* o, const char* contents, size_t contents_size, char* mime_type, char* encoding, char* base_uri);
+EXPORT_API double ewk_view_load_progress_get(const Evas_Object* o);
 
 /**
- * Requests loading the given contents.
- *
- * @param o view object to load document
- * @param html HTML data to load
- * @param base_uri Base URI used for relative paths to external objects (optional)
+ * @brief Requests to set the user agent string.
  *
- * @return @c EINA_TRUE on successful request, @c EINA_FALSE on errors
- */
-EXPORT_API Eina_Bool ewk_view_html_contents_set(Evas_Object* o, const char* html, const char* base_uri);
-
-/**
- * Requests for setting page visibility state.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param o view object to set the page visibility
- * @param page_visibility_state visible state of the page to set
- * @param initial_state @c EINA_TRUE if this function is called at page initialization time,
- *                     @c EINA_FALSE otherwise
+ * @param[in] o The view object to set the user agent string
+ * @param[in] user_agent The user agent string to set,\n
+ *                       otherwise @c NULL to restore the default one
  *
- * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
+ * @return @c EINA_TRUE on success,\n
+ *         otherwise @c EINA_FALSE on failure
  */
-EXPORT_API Eina_Bool ewk_view_page_visibility_state_set(Evas_Object* o, Ewk_Page_Visibility_State page_visibility_state, Eina_Bool initial_state);
-
-/**
-* Request to set the user agent string.
-*
-* @param o view object to set the user agent string
-*
-* @return @c EINA_TRUE on success or @c EINA_FALSE on failure
-*/
 EXPORT_API Eina_Bool ewk_view_user_agent_set(Evas_Object* o, const char* user_agent);
 
 /**
-* Returns user agent string.
-*
-* @param o view object to get the user agent string
-*
-* @return @c user agent string
-*/
-EXPORT_API const char* ewk_view_user_agent_get(const Evas_Object* o);
-
-/**
-* Request to set the user agent with application name.
-*
-* @param o view object to set the user agent with application name
-*
-* @param application_name string to set the user agent
-*
-* @return @c EINA_TRUE on success or @c EINA_FALSE on failure
-*/
-EXPORT_API Eina_Bool ewk_view_application_name_for_user_agent_set(Evas_Object* o, const char* application_name);
-
-/**
-* Returns application name string.
-*
-* @param o view object to get the application name
-*
-* @return @c application name. The returned string @b should be freed by
-*         eina_stringshare_del() after use.
-*/
-EXPORT_API const char* ewk_view_application_name_for_user_agent_get(const Evas_Object* o);
-
-/*
-* add custom header
-*
-* @param o view object to add custom header
-*
-* @param name custom header name to add the custom header
-*
-* @param value custom header value to add the custom header
-*
-* @return @c EINA_TRUE on success or @c EINA_FALSE on failure
-*/
-EXPORT_API Eina_Bool ewk_view_custom_header_add(const Evas_Object* o, const char* name, const char* value);
-/**
-* remove custom header
-*
-* @param o view object to remove custom header
-*
-* @param name custom header name to remove the custom header
-*
-* @return @c EINA_TRUE on success or @c EINA_FALSE on failure
-*/
-EXPORT_API Eina_Bool ewk_view_custom_header_remove(const Evas_Object* o, const char* name);
-/**
-* clears all custom headers
-*
-* @param o view object to clear custom headers
-*
-* @return @c EINA_TRUE on success or @c EINA_FALSE on failure
-*/
-EXPORT_API Eina_Bool ewk_view_custom_header_clear(const Evas_Object* o);
-
-/**
- * Request to set the current page's visibility.
- *
- * @param o view object to set the visibility.
- * @param enable EINA_TRUE to set on the visibility of the page, EINA_FALSE otherwise.
- *
- * @return @c EINA_TRUE on successful request, @c EINA_FALSE on errors
- */
-EXPORT_API Eina_Bool ewk_view_visibility_set(const Evas_Object* o, Eina_Bool enable);
-
-/**
- * Returns the evas image object of the specified viewArea of page
- *
- * The returned evas image object @b should be freed after use.
- *
- * @param o view object to get specified rectangle of cairo surface.
- * @param viewArea rectangle of cairo surface.
- * @param scaleFactor scale factor of cairo surface.
- * @param canvas canvas for creating evas image.
- *
- * @return newly allocated evas image object on sucess or @c 0 on failure.
- */
-EXPORT_API Evas_Object* ewk_view_screenshot_contents_get(const Evas_Object* o, Eina_Rectangle viewArea, float scaleFactor, Evas* canvas);
-
-/**
- * Makes request of evas image object of the specified viewArea of page asynchronously
- *
- * The returned evas image object through async callback @b should be freed after use.
- *
- * @param o view object to get specified rectangle of cairo surface.
- * @param viewArea rectangle of cairo surface.
- * @param scaleFactor scale factor of cairo surface.
- * @param canvas canvas for creating evas image.
- * @param callback result callback to get captured screenshot.
- * @param user_data will be passed when result_callback is called
- *    -I.e., user data will be kept until callback is called.
- *
- * @return @c EINA_TRUE on successful request, @c EINA_FALSE on errors.
- */
-EXPORT_API Eina_Bool ewk_view_screenshot_contents_get_async(const Evas_Object* o, Eina_Rectangle viewArea,
-         float scaleFactor, Evas* canvas, Ewk_Web_App_Screenshot_Captured_Callback callback, void* user_data);
-
-/**
- * Returns the evas image object for the cache image specified in url.
- *
- * The returned evas image object @b should be freed after use.
- *
- * @param o view object to get specified rectangle of cairo surface.
- * @param imageUrl url of the image in the cache.
- * @param canvas canvas for creating evas image.
- *
- * @return newly allocated evas image object on sucess or @c 0 on failure.
- */
-EXPORT_API Evas_Object* ewk_view_cache_image_get(const Evas_Object* o, const char* imageUrl, Evas* canvas);
-
-/**
- * Start a server for inspecting web pages
- * This server will be used by Remote Web Browser to transfer messages over network
+ * @brief Returns the user agent string.
  *
- * @param [o] view object to debug
- * @param [in] port It is a port number for the server. A free port on system will be allocated if port is 0
- *
- * @return @c assigned port number on success or @c 0 on failure
- */
-EXPORT_API unsigned int ewk_view_inspector_server_start(Evas_Object* o, unsigned int port);
-
-/**
- * Stop a server for inspecting web pages
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param [o] view object to debug
+ * @param[in] o The view object to get the user agent string
  *
- * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
+ * @return The user agent string
  */
-EXPORT_API Eina_Bool ewk_view_inspector_server_stop(Evas_Object* o);
-
-/**
- * Scrolls webpage of view by dx and dy.
- *
- * @param o view object to scroll
- * @param dx horizontal offset to scroll
- * @param dy vertical offset to scroll
- */
-EXPORT_API void ewk_view_scroll_by(Evas_Object* o, int dx, int dy);
-
-/**
- * Gets the current scroll position of given view.
- *
- * @param o view object to get the current scroll position
- * @param x the pointer to store the horizontal position, may be @c NULL
- * @param y the pointer to store the vertical position, may be @c NULL
- *
- * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise and
- *         values are zeroed.
- */
-EXPORT_API Eina_Bool ewk_view_scroll_pos_get(Evas_Object* o, int* x, int* y);
-
-/**
- * Sets an absolute scroll of the given view.
- *
- * Both values are from zero to the contents size minus the viewport
- * size.
- *
- * @param o view object to scroll
- * @param x horizontal position to scroll
- * @param y vertical position to scroll
- *
- * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise
- */
-EXPORT_API Eina_Bool ewk_view_scroll_set(Evas_Object* o, int x, int y);
-
-/**
- * Gets the possible scroll size of the given view.
- *
- * Possible scroll size is contents size minus the viewport size.
- *
- * @param o view object to get scroll size
- * @param w the pointer to store the horizontal size that is possible to scroll,
- *        may be @c 0
- * @param h the pointer to store the vertical size that is possible to scroll,
- *        may be @c 0
- *
- * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise and
- *         values are zeroed
- */
-EXPORT_API Eina_Bool ewk_view_scroll_size_get(const Evas_Object* o, int* w, int* h);
-
-/**
- * Requests for getting web application capable.
- *
- * @param callback result callback to get web application capable
- * @param user_data user_data will be passed when result_callback is called
- *    -I.e., user data will be kept until callback is called
- *
- * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
- */
-EXPORT_API Eina_Bool ewk_view_web_application_capable_get(Evas_Object* o, Ewk_Web_App_Capable_Get_Callback callback, void* user_data);
-
-/**
- * Requests for getting web application icon string.
- *
- * @param callback result callback to get web application icon url
- * @param user_data user_data will be passed when result_callback is called
- *    -I.e., user data will be kept until callback is called
- *
- * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
- */
-EXPORT_API Eina_Bool ewk_view_web_application_icon_url_get(Evas_Object* o, Ewk_Web_App_Icon_URL_Get_Callback callback, void* user_data);
-
-/**
- * Requests for getting web application icon list of Ewk_Web_App_Icon_Data.
- *
- * @param callback result callback to get web application icon urls
- * @param user_data user_data will be passed when result_callback is called
- *    -I.e., user data will be kept until callback is called
- *
- * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
- */
-EXPORT_API Eina_Bool ewk_view_web_application_icon_urls_get(Evas_Object *o, Ewk_Web_App_Icon_URLs_Get_Callback callback, void *user_data);
+EXPORT_API const char* ewk_view_user_agent_get(const Evas_Object* o);
 
 /**
- * Executes editor command.
- *
- * @param o view object to execute command
- * @param command editor command to execute
- * @param value the value to be passed into command
+ * @brief Gets the last known content's size.
  *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EXPORT_API Eina_Bool ewk_view_command_execute(Evas_Object* o, const char* command, const char* value);
-
-/**
- * Gets last known contents size.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param o view object to get contents size
- * @param width pointer to store contents size width, may be @c 0
- * @param height pointer to store contents size height, may be @c 0
+ * @param[in] o The view object to get the content's size
+ * @param[in] width The width pointer to store the content's size width,
+ *            may be @c 0
+ * @param[in] height The height pointer to store the content's size height,
+ *            may be @c 0
  *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure and
- *         @a width and @a height will be zeroed
+ * @return @c EINA_TRUE on success,\n
+ *         otherwise @c EINA_FALSE on failure and\n
+ *         @a width and @a height are zeroed
  */
 EXPORT_API Eina_Bool ewk_view_contents_size_get(Evas_Object* o, Evas_Coord* width, Evas_Coord* height);
 
 /**
- * Create PDF file of page contents
+ * @brief Callback for ewk_view_script_execute().
  *
- * @param o view object to get page contents.
- * @param width the suface width of PDF file.
- * @param height the suface height of PDF file.
- * @param fileName the file name for creating PDF file.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ * @param[in] o The view object
+ * @param[in] result_value The value returned by the script\n
+ *            If executed script returns a value, it would be @a result_value\n
+ *            otherwise @c NULL if there is no value returned by the script
+ * @param[in] user_data The user_data will be passsed when
+ *            ewk_view_script_execute() is called
  */
-/* This return value is status of the request not the status of actual operation.
- * There should be some callback to get the actual status or reason of failure.
- */
-EXPORT_API Eina_Bool ewk_view_contents_pdf_get(Evas_Object* o, int width, int height, const char* fileName);
+typedef void (*Ewk_View_Script_Execute_Cb)(Evas_Object* o, const char* result_value, void* user_data);
 
 /**
- * Requests execution of the given script.
- *
- * @note This allows to use NULL for the callback parameter.
- *       So, if the result data from the script is not required, NULL might be used for the callback parameter.
+ * @brief Requests the execution of the given script.
  *
- * @param o view object to execute script
- * @param script Java Script to execute
- * @param callback result callback
- * @param user_data user data
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
- */
-EXPORT_API Eina_Bool ewk_view_script_execute(Evas_Object* o, const char* script, Ewk_View_Script_Execute_Callback callback, void* user_data);
-
-/**
- * Retrieve the contents in plain text.
+ * @remarks This allows to use @c NULL for the callback parameter\n
+ *          So, if the result data from the script is not required,
+ *          @c NULL might be used for the callback parameter\n
+ *          Also, @a script should be valid statement according to JavaScript language\n
+ *          If @a script is empty, NULL or invalid statement, this function returns @c EINA_FALSE
  *
- * @param o view object whose contents to retrieve.
- * @param callback result callback
- * @param user_data user data
+ * @param[in] o The view object to execute the script
+ * @param[in] script The JavaScript code string to execute
+ * @param[in] callback The result callback
+ * @param[in] user_data The user data
  *
- * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
+ * @return @c EINA_TRUE  on success,\n
+ *         otherwise @c EINA_FALSE on failure
  */
-EXPORT_API Eina_Bool ewk_view_plain_text_get(Evas_Object* o, Ewk_View_Plain_Text_Get_Callback callback, void* user_data);
+EXPORT_API Eina_Bool ewk_view_script_execute(Evas_Object* o, const char* script, Ewk_View_Script_Execute_Cb callback, void* user_data);
 
 /**
- * Get page contents as MHTML data
+ * @brief Scales the current page, centered at the given point.
  *
- * @param o view object to get the page contents
- * @param callback callback function to be called when the operation is finished
- * @param user_data user data to be passed to the callback function
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
- */
-EXPORT_API Eina_Bool ewk_view_mhtml_data_get(Evas_Object *o, Ewk_View_MHTML_Data_Get_Callback callback, void *user_data);
-
-
-/**
- * Deprecated - use async hit tests instead
- * Creates a new hit test for the given veiw object and point.
- *
- * The returned object should be freed by ewk_hit_test_free().
- *
- * @param o view object to do hit test on
- * @param x the horizontal position to query
- * @param y the vertical position to query
- * @param hit_test_mode the Ewk_Hit_Test_Mode enum value to query
- *
- * @return a newly allocated hit test on success, @c 0 otherwise
- */
-EINA_DEPRECATED EXPORT_API Ewk_Hit_Test* ewk_view_hit_test_new(Evas_Object* o, int x, int y, int hit_test_mode);
-
-typedef void (*Ewk_View_Hit_Test_Request_Callback)(Evas_Object* o, int x, int y, int hit_test_mode, Ewk_Hit_Test*, void* user_data);
-
-/**
- * Requests new hit test for given view object and point.
- *
- * @param o              view object to do hit test on
- * @param x              the horizontal position to query
- * @param y              the vertical position to query
- * @param hit_test_mode  the Ewk_Hit_Test_Mode enum value to query
- * @param callback       callback to be executed when hit test request was finished
- *
- * @return EINA_TRUE if hit test request was queued, otherwise EINA_FALSE
- */
-EXPORT_API Eina_Bool ewk_view_hit_test_request(Evas_Object* o, int x, int y, int hit_test_mode, Ewk_View_Hit_Test_Request_Callback, void* user_data);
-
-/**
- * Get the whole history(whole back & forward list) associated with this view.
- *
- * @param o view object to get the history(whole back & forward list)
- *
- * @return a newly allocated history of @b newly allocated item
- *         instance. This memory of each item must be released with
- *         ewk_history_free() after use.
- *
- * @see ewk_history_free()
- */
-EXPORT_API Ewk_History* ewk_view_history_get(Evas_Object* o);
-
-/**
- * Deprecated.
- * Notify that notification is closed.
- *
- * @param notification_list list of Ewk_Notification pointer
- *        notification_list is freed in this function.
- *
- * @return this function will always return EINA_FALSE since it is deprecated
- *
- * @deprecated
- * @see ewk_notification_closed
- */
-EINA_DEPRECATED EXPORT_API Eina_Bool ewk_view_notification_closed(Evas_Object* o, Eina_List* notification_list);
-
-/*
- * Sends the orientation of the device.
+ * @param[in] o The view object to set the zoom level
+ * @param[in] scale_factor A new level to set
+ * @param[in] cx The x value of the center coordinate
+ * @param[in] cy The y value of the center coordinate
  *
- * If orientation value is changed, orientationchanged event will occur.
- *
- * @param o view object to receive orientation event.
- * @param orientation the new orientation of the device. (degree)
- *
- * orientation will be 0 degrees when the device is oriented to natural position,
- *                     90 degrees when it's left side is at the top,
- *                    -90 degrees when it's right side is at the top,
- *                     180 degrees when it is upside down.
- */
-EXPORT_API void ewk_view_orientation_send(Evas_Object *o, int orientation);
-
-/**
- * Sets the encoding and reloads the page.
- *
- * @param ewkView view to set the encoding
- * @param encoding the new encoding to set or @c 0 to restore the default one
- */
-EXPORT_API void ewk_view_encoding_custom_set(Evas_Object* ewkView, const char* encoding);
-
-/**
- * Gets the Range of contained selection.
- *
- * @param o view object with selection in progress
- * @param left_rect Refers to left ie start of selection
- * @param right_rect Refers to right ie end of selection
- *
- * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise and
- *         values are zeroed
- */
-EXPORT_API Eina_Bool ewk_view_text_selection_range_get(const Evas_Object* o, Eina_Rectangle* left_rect, Eina_Rectangle* right_rect);
-
-/**
- * Returns the selection text.
- *
- * @param o view object to get selection text.
- *
- * @return selection text or @c NULL on failure
+ * @return @c EINA_TRUE on success,\n
+ *         otherwise EINA_FALSE
  */
-EXPORT_API const char* ewk_view_text_selection_text_get(Evas_Object* o);
+EXPORT_API Eina_Bool ewk_view_scale_set(const Evas_Object* view, double scale_factor, int x, int y);
 
 /**
- * Clears the current selection
- *
- * @param o view object with selection in progress
+ * @brief Gets the current scale factor of the page.
  *
- * @return @c EINA_TRUE on success, @c EINA_FALSE on errors
- */
-EXPORT_API Eina_Bool ewk_view_text_selection_clear(Evas_Object *o);
-
-/**
- * Sets the focused input element value
+ * @details It returns the previous scale factor after ewk_view_scale_set() is
+ *          called immediately\n
+ *          until the scale factor of the page is really changed.
  *
- * @param o view object to send the value
- * @param value the string value to be set
- */
-EXPORT_API void ewk_view_focused_input_element_value_set(Evas_Object* o, const char* value);
-// #endif // ENABLE(TIZEN_INPUT_TAG_EXTENSION)
-
-/**
- * Gets the focused input element's value
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param o view object to get the value
+ * @param[in] o The view object to get the scale factor of
  *
- * @return focused input element's value on success or NULL on failure.
+ * @return The current scale factor in use on success,\n
+ *         otherwise @c -1.0 on failure
  */
-EXPORT_API const char* ewk_view_focused_input_element_value_get(Evas_Object* o);
-
+EXPORT_API double ewk_view_scale_get(const Evas_Object* o);
 
 /**
- * Selects index of current popup menu.
- *
- * @param o view object contains popup menu.
- * @param index index of item to select
+ * @brief Exits fullscreen when the back key is pressed.
  *
- * @return @c EINA_TRUE on success, @c EINA_FALSE on failure (probably
- *         popup menu is not selected or index is out of range)
- */
-EXPORT_API Eina_Bool ewk_view_popup_menu_select(Evas_Object *o, unsigned int index);
-
-/**
- * Selects Multiple indexes  of current popup menu.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param o view object contains popup menu.
- * @param changedlist  list of item selected and deselected
+ * @param[in] o The view object to exit the fullscreen mode
  *
- * @return @c EINA_TRUE on success, @c EINA_FALSE on failure (probably
- *         popup menu is not selected or index is out of range)
+ * @return @c EINA_TRUE on success,\n
+ *         otherwise @c EINA_FALSE
  */
-EXPORT_API Eina_Bool ewk_view_popup_menu_multiple_select(Evas_Object *o, Eina_Inarray* changedlist);
+EXPORT_API Eina_Bool ewk_view_fullscreen_exit(Evas_Object* o);
 
 /**
- * Sets whether the ewk_view supports the mouse events or not.
+ * @brief Suspends the operation associated with the view object.
  *
- * The ewk_view will support the mouse events if EINA_TRUE or not support the
- * mouse events otherwise. The default value is EINA_TRUE.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param o view object to enable/disable the mouse events
- * @param enabled a state to set
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ * @param[in] o The view object to suspend
  */
-EXPORT_API Eina_Bool ewk_view_mouse_events_enabled_set(Evas_Object *o, Eina_Bool enabled);
+EXPORT_API void ewk_view_suspend(Evas_Object* o);
 
 /**
- * Queries if the ewk_view supports the mouse events.
+ * @brief Resumes the operation associated with the view object after calling
+ *        ewk_view_suspend().
  *
- * @param o view object to query if the mouse events are enabled
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @return @c EINA_TRUE if the mouse events are enabled or @c EINA_FALSE otherwise
+ * @param[in] o The view object to resume
  */
-EXPORT_API Eina_Bool ewk_view_mouse_events_enabled_get(const Evas_Object *o);
-
-typedef Eina_Bool (*Ewk_Orientation_Lock_Cb)(Evas_Object* o, Eina_Bool need_lock, int orientation, void* user_data);
-
- /**
- * Deprecated
- * Sets callback of orientation lock function
- *
- * func will be called when screen lock is called or unlock is called.
- * When screen.lockOrientation is called, need_lock will be true and orientation
- * will be the flags which should be locked.
- * For example, when contents called 'screen.lockOrientation("portrait"), orientation
- * will be EWK_SCREEN_ORIENTATION_PORTRAIT_PRIMARY | EWK_SCREEN_ORIENTATION_PORTRAIT_SECONDARY
- * When screen.unlockOrientation is called, need_lock will be false.
- *
- * @param o view object to set the callback of orientation
- * @param func callback function to be called when screen orientation is locked or unlocked.
- * @param use_data user_data will be passsed when ewk_view_web_app_icon_get is called
- *
- * @return current URI on success or @c 0 on failure
- */
-EINA_DEPRECATED EXPORT_API void ewk_view_orientation_lock_callback_set(Evas_Object *o, Ewk_Orientation_Lock_Cb func, void* user_data);
+EXPORT_API void ewk_view_resume(Evas_Object* o);
 
 /**
- * Loads the specified @a html string as the content of the view.
- *
- * External objects such as stylesheets or images referenced in the HTML
- * document are located relative to @a baseUrl.
- *
- * If an @a unreachableUrl is passed it is used as the url for the loaded
- * content. This is typically used to display error pages for a failed
- * load.
- *
- * @param o view object to load document
- * @param html HTML data to load
- * @param base_uri Base URI used for relative paths to external objects (optional)
- * @param unreachable_uri URI that could not be reached (optional)
- *
- * @return @c EINA_TRUE on successful request, @c EINA_FALSE on errors
+ * \enum Ewk_Http_Method
+ * @brief Enumeration that provides HTTP method options.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
-EXPORT_API Eina_Bool ewk_view_html_string_load(Evas_Object *o, const char *html, const char *base_uri, const char *unreachable_uri);
+enum Ewk_Http_Method {
+    EWK_HTTP_METHOD_GET, /**< Get */
+    EWK_HTTP_METHOD_HEAD, /**< Head */
+    EWK_HTTP_METHOD_POST, /**< Post */
+    EWK_HTTP_METHOD_PUT, /**< Put */
+    EWK_HTTP_METHOD_DELETE, /**< Delete */
+};
 
 /**
- * Scales the current page, centered at the given point.
- *
- * The scale factor is set asynchronously.
- *
- * @param o view object to set the zoom level
- * @param scale_factor a new level to set
- * @param cx x of center coordinate
- * @param cy y of center coordinate
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
+ * @brief Enumeration that creates a type name for the #Ewk_Http_Method.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
-EXPORT_API Eina_Bool ewk_view_scale_set(const Evas_Object *o, double scale_factor, int x, int y);
+typedef enum Ewk_Http_Method Ewk_Http_Method;
 
 /**
- * Queries the current scale factor of the page.
- *
- * @param o view object to get the scale factor
+ * @brief Requests loading of the given request data.
  *
- * @return current scale factor in use on success or @c -1.0 on failure
- */
-EXPORT_API double ewk_view_scale_get(const Evas_Object *o);
-
-/**
- * Searches and hightlights the given string in the document.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param o view object to find text
- * @param text text to find
- * @param options options to find
- * @param max_match_count maximum match count to find, unlimited if 0
+ * @param[in] o The view object to load
+ * @param[in] url The uniform resource identifier to load
+ * @param[in] method The http method
+ * @param[in] headers The http headers
+ * @param[in] body The http body data
  *
- * @return @c EINA_TRUE on success, @c EINA_FALSE on errors
+ * @return @c EINA_TRUE on a successful request,\n
+ *         otherwise @c EINA_FALSE on failure
  */
-EXPORT_API Eina_Bool ewk_view_text_find(Evas_Object* o, const char* text, Ewk_Find_Options options, unsigned int max_match_count);
+EXPORT_API Eina_Bool ewk_view_url_request_set(Evas_Object* o, const char* url, Ewk_Http_Method method, Eina_Hash* headers, const char* body);
 
 /**
- * Clears the highlight of searched text.
+ * @if MOBILE
+ * @brief Requests loading the given contents by MIME type into the view object.
  *
- * @param o view object to find text
+ * @since_tizen 2.3
  *
- * @return @c EINA_TRUE on success, @c EINA_FALSE on errors
- */
-EXPORT_API Eina_Bool ewk_view_text_find_highlight_clear(Evas_Object *o);
-
-/*
- * Sets the user chosen color. To be used when implementing a color picker.
+ * @param[in] o The view object to load
+ * @param[in] contents The content to load
+ * @param[in] contents_size The size of @a contents (in bytes)
+ * @param[in] mime_type The type of @a contents,
+ *            if @c 0 is given "text/html" is assumed
+ * @param[in] encoding The encoding for @a contents,
+ *            if @c 0 is given "UTF-8" is assumed
+ * @param[in] base_uri The base URI to use for relative resources,
+ *            may be @c 0,\n if provided @b must be an absolute URI
  *
- * The function should only be called when a color has been requested by the document.
- * If called when this is not the case or when the input picker has been dismissed, this
- * function will fail and return EINA_FALSE.
- *
- * @param o view object contains color picker
- * @param r red channel value to be set
- * @param g green channel value to be set
- * @param b blue channel value to be set
- * @param a alpha channel value to be set
- *
- * @return @c EINA_TRUE on success @c EINA_FALSE otherwise
+ * @return @c EINA_TRUE on a successful request,\n
+ *         otherwise @c EINA_FALSE on errors
+ * @endif
  */
-EXPORT_API Eina_Bool ewk_view_color_picker_color_set(Evas_Object *o, int r, int g, int b, int a);
+EXPORT_API Eina_Bool ewk_view_contents_set(Evas_Object* o, const char* contents, size_t contents_size, char* mime_type, char* encoding, char* base_uri);
 
 /**
- * Feeds the touch event to the view.
+ * @brief Scrolls the webpage of view by dx and dy.
  *
- * @param o view object to feed touch event
- * @param type the type of touch event
- * @param points a list of points (Ewk_Touch_Point) to process
- * @param modifiers an Evas_Modifier handle to the list of modifier keys
- *        registered in the Evas. Users can get the Evas_Modifier from the Evas
- *        using evas_key_modifier_get() and can set each modifier key using
- *        evas_key_modifier_on() and evas_key_modifier_off()
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ * @param[in] o The view object to scroll
+ * @param[in] dx The horizontal offset to scroll
+ * @param[in] dy The vertical offset to scroll
  */
-EXPORT_API Eina_Bool ewk_view_feed_touch_event(Evas_Object *o, Ewk_Touch_Event_Type type, const Eina_List *points, const Evas_Modifier *modifiers);
+EXPORT_API void ewk_view_scroll_by(Evas_Object* o, int dx, int dy);
 
 /**
- * Sets whether the ewk_view supports the touch events or not.
+ * @brief Gets the current scroll position of the given view.
  *
- * The ewk_view will support the touch events if @c EINA_TRUE or not support the
- * touch events otherwise. The default value is @c EINA_FALSE.
- *
- * @param o view object to enable/disable the touch events
- * @param enabled a state to set
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EXPORT_API Eina_Bool ewk_view_touch_events_enabled_set(Evas_Object *o, Eina_Bool enabled);
-
-/**
- * Queries if the ewk_view supports the touch events.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param o view object to query if the touch events are enabled
+ * @param[in] o The view object to get the current scroll position
+ * @param[in] x The pointer to store the horizontal position, may be @c NULL
+ * @param[in] y The pointer to store the vertical position, may be @c NULL
  *
- * @return @c EINA_TRUE if the touch events are enabled or @c EINA_FALSE otherwise
+ * @return @c EINA_TRUE on success,\n
+ *         otherwise @c EINA_FALSE
  */
-EXPORT_API Eina_Bool ewk_view_touch_events_enabled_get(const Evas_Object *o);
+EXPORT_API Eina_Bool ewk_view_scroll_pos_get(Evas_Object* o, int* x, int* y);
 
 /**
- * Get main frame from given view
+ * @brief Sets an absolute scroll of the given view.
  *
- * @param o view object to retrieve main frame from
+ * @details Both values are from zero to the contents size minus
+ *          the viewport size.
  *
- * @return main frame
- */
-EXPORT_API Ewk_Frame_Ref ewk_view_main_frame_get(Evas_Object* o);
-
-/**
- * Sets the visibility of main frame scrollbar.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @param o view object
- * @param visible visibility of main frame scrollbar
+ * @param[in] o The view object to scroll
+ * @param[in] x The horizontal position to scroll
+ * @param[in] y The vertical position to scroll
  *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ * @return @c EINA_TRUE on success,\n
+ *         otherwise @c EINA_FALSE
  */
-EXPORT_API Eina_Bool ewk_view_main_frame_scrollbar_visible_set(Evas_Object *o, Eina_Bool visible);
+EXPORT_API Eina_Bool ewk_view_scroll_set(Evas_Object* o, int x, int y);
 
 /**
- * Clear back forward list of a page.
- *
- * @param o view object to clear back forward list
- */
-EXPORT_API void ewk_view_back_forward_list_clear(const Evas_Object *o);
-
-/// Enum values containing Content Security Policy header types.
-enum _Ewk_CSP_Header_Type {
-  EWK_REPORT_ONLY,
-  EWK_ENFORCE_POLICY,
-  EWK_DEFAULT_POLICY
+ * Enum values used to specify search options.
+ * @brief  Enumeration that provides the option to find text.
+ * @details It contains enum values used to specify search options.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ */
+enum Ewk_Find_Options {
+    EWK_FIND_OPTIONS_NONE, /**< No search flags, this means a case sensitive, no wrap, forward only search */
+    EWK_FIND_OPTIONS_CASE_INSENSITIVE = 1 << 0, /**< Case insensitive search */
+    EWK_FIND_OPTIONS_AT_WORD_STARTS = 1 << 1, /**< Search text only at the beginning of the words */
+    EWK_FIND_OPTIONS_TREAT_MEDIAL_CAPITAL_AS_WORD_START = 1 << 2, /**< Treat capital letters in the middle of words as word start */
+    EWK_FIND_OPTIONS_BACKWARDS = 1 << 3, /**< Search backwards */
+    EWK_FIND_OPTIONS_WRAP_AROUND = 1 << 4, /**< If not present the search stops at the end of the document */
+    EWK_FIND_OPTIONS_SHOW_OVERLAY = 1 << 5, /**< Show overlay */
+    EWK_FIND_OPTIONS_SHOW_FIND_INDICATOR = 1 << 6, /**< Show indicator */
+    EWK_FIND_OPTIONS_SHOW_HIGHLIGHT = 1 << 7 /**< Show highlight */
 };
-typedef enum _Ewk_CSP_Header_Type Ewk_CSP_Header_Type;
 
 /**
- * Set received Content Security Policy data from web app
- *
- * @param o view object
- * @param policy Content Security Policy data
- * @param type Content Security Policy header type
- *
+ * @brief Enumeration that creates a type name for the #Ewk_Find_Options.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  */
-EXPORT_API void ewk_view_content_security_policy_set(Evas_Object* o, const char* policy, Ewk_CSP_Header_Type type);
+typedef enum Ewk_Find_Options Ewk_Find_Options;
 
 /**
- * When font-family is "Tizen", use system's Settings font as default font-family
- *
- * @param o view object
+ * @brief Searches and highlights the given string in the document.
  *
- */
-EXPORT_API void ewk_view_use_settings_font(Evas_Object* o);
-
-/*
- * Get cookies associated with an URL.
- *
- * @param o view object in which URL is opened.
- * @param url the url for which cookies needs to be obtained.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  *
- * @return @c character array containing cookies, @c NULL if no cookies are found.
+ * @param[in] o The view object to find text
+ * @param[in] text The text to find
+ * @param[in] options The options to find
+ * @param[in] max_match_count The maximum match count to find, unlimited if @c 0
  *
- * The return character array has to be owned by the application and freed when not required.
+ * @return @c EINA_TRUE on success,\n
+ *         otherwise EINA_FALSE on errors
  */
-EXPORT_API char* ewk_view_get_cookies_for_url(Evas_Object* o, const char* url);
-
-/*
- * Exit fullscreen when the back key is pressed.
- *
- * @param o view object to exit fullscreen mode
- *
- * @return @c EINA_TRUE if successful, @c EINA_FALSE otherwise
- */
-EXPORT_API Eina_Bool ewk_view_fullscreen_exit(Evas_Object* o);
-
-/**
- * Sets whether to draw transparent background or not.
- *
- * @param o view object to enable/disable transparent background
- * @param enabled a state to set
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EXPORT_API Eina_Bool ewk_view_draws_transparent_background_set(Evas_Object *o, Eina_Bool enabled);
-
-/**
- * set a font for browser application
- *
- * @param o view object
- *
- */
-EXPORT_API void ewk_view_browser_font_set(Evas_Object* o);
-
-/**
- * Gets the session data to be saved in a persistent store on browser exit
- *
- * @param ewkView view object whose session needs to be stored.
- * @param data out parameter session data
- * @param length out parameter length of session data
- *
- * @return void
- */
-EXPORT_API void ewk_view_session_data_get(Evas_Object* ewkView, const char** data, unsigned* length);
-
-/**
- * Load the error page which web page is not found.
- *
- * @param ewkView view object whose session needs to be stored.
- * @param ErrorUrl that could not be found.
- *
- * @return void
- */
-EXPORT_API void ewk_view_not_found_error_page_load(Evas_Object* ewkView, const char* ErrorUrl);
-
-/**
- * Enable or disable supporting of the split scrolling for overflow scroll.
- *
- * @param ewkView view object to set the support of the split scrolling for overflow scroll
- * @param enable @c EINA_TRUE to support split scrolling, @c EINA_FALSE not to support
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EXPORT_API Eina_Bool ewk_view_split_scroll_overflow_enabled_set(Evas_Object* ewkView, const Eina_Bool enabled);
+EXPORT_API Eina_Bool ewk_view_text_find(Evas_Object* o, const char* text, Ewk_Find_Options options, unsigned max_match_count);
 
 /**
- * Gets the back-forward list associated with this view.
+ * @brief Loads the specified @a html string as the content of the view.
  *
- * The returned instance is unique for this view and thus multiple calls
- * to this function with the same view as parameter returns the same
- * handle. This handle is alive while view is alive, thus one
- * might want to listen for EVAS_CALLBACK_DEL on given view
- * (@a o) to know when to stop using returned handle.
+ * @details External objects such as stylesheets or images referenced
+ *          in the HTML\n document are located relative to @a baseUrl.\n
  *
- * @param o view object to get navigation back-forward list
+ * If an @a unreachableUrl is passed it is used as the url for the loaded
+ * content.\n This is typically used to display error pages for a failed load.
  *
- * @return the back-forward list instance handle associated with this view
- */
-EXPORT_API Ewk_Back_Forward_List *ewk_view_back_forward_list_get(const Evas_Object *o);
-
-/**
- * Set Draw Focus Ring for CacheBuilder
+ * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 2.3.1 @endif
  *
- * @param ewkView view object
- * @@param enabled a state to set
+ * @param[in] o view object to load the HTML into
+ * @param[in] html HTML data to load
+ * @param[in] base_url Base URL used for relative paths to external objects
+ *            (optional)
+ * @param[in] unreachable_url URL that could not be reached (optional)
  *
+ * @return @c EINA_TRUE if it the HTML was successfully loaded,
+ *         @c EINA_FALSE otherwise
  */
-EXPORT_API void ewk_view_draw_focus_ring_enable_set(Evas_Object* ewkView, Eina_Bool enable);
+EXPORT_API Eina_Bool ewk_view_html_string_load(Evas_Object* o, const char* html, const char* base_url, const char* unreachable_url);
 
 /**
- * Queries the current zoom factor of the page.
+ * @brief A ScriptMessage contains information that sent from JavaScript running in a webpage.
  *
- * It returns previous zoom factor after ewk_view_page_zoom_factor_set is called immediately
- * until zoom factor of page is really changed.
- *
- * @param o view object to get the zoom factor
- *
- * @return current zoom factor in use on success or @c -1.0 on failure
+ * @since_tizen 3.0
  */
-EXPORT_API double ewk_view_page_zoom_get(const Evas_Object *o);
+struct _Ewk_Script_Message {
+  const char* name; /**< The name used to expose the object in JavaScript*/
+  void* body; /**< Message body */
+};
 
 /**
- * Sets zoom factor of the current page.
- *
- * @param o view object to set the zoom level
- * @param zoom_factor a new level to set
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
+ * @brief A struct that creates a type name for the #Ewk_Script_Message.
+ * @since_tizen 3.0
  */
-EXPORT_API Eina_Bool ewk_view_page_zoom_set(Evas_Object *o, double zoom_factor);
+typedef struct _Ewk_Script_Message Ewk_Script_Message;
 
 /**
- * Creates a new EFL WebKit view object with Evas_Smart and Ewk_Context.
- *
- * @note The Evas_Object which inherits the ewk_view should create its
- *       Evas_Object using this API instead of evas_object_smart_add()
- *       because the default initialization for ewk_view is done in this API.
- *
- * @param e canvas object where to create the view object
- * @param smart Evas_Smart object. Its type should be EWK_VIEW_TYPE_STR
- * @param context Ewk_Context object which is used for initializing
- * @param pageGroup Ewk_Page_Group object which is used for initializing
+ * @brief Callback for ewk_view_javascript_message_handler_add().
  *
- * @return view object on success or @c NULL on failure
- */
-EXPORT_API Evas_Object *ewk_view_smart_add(Evas *e, Evas_Smart *smart, Ewk_Context *context, Ewk_Page_Group *pageGroup);
-
-/**
- * Callback for quota permission request feature.
+ * @since_tizen 3.0
  *
- * @param ewkView view object where quota permission was requested
- * @param request quota permission request object
- * @param user_data user_data passed to ewk_view_quota_permission_request_callback_set
+ * @param[in] o The view object
+ * @param[in] message The ScriptMessage returned by the script. \n
+ *    It will be passsed when ewk_view_javascript_message_handler_add() is called.
  */
-typedef void (*Ewk_Quota_Permission_Request_Callback)(Evas_Object* ewkView, const Ewk_Quota_Permission_Request* request, void* user_data);
+typedef void (*Ewk_View_Script_Message_Cb)(Evas_Object* o, Ewk_Script_Message message);
 
 /**
- * Sets callback quota permission request.
+ * @brief Injects the supplied javascript message handler into webview.
  *
- * func will be called when page requests increased storage quota.
+ * @since_tizen 3.0
  *
- * @param ewkView view object to set the callback
- * @param func callback function to be called when quota permission is requested
- * @param use_data user_data will be passsed to callback function
+ * @remarks Certainly, specify privileges of using native API to users,
+ *          if using native API affects system settings, stability or security.
+ *          Privilege display name & description which will be noticed to user.
  *
- * @return void
- */
-EXPORT_API void ewk_view_quota_permission_request_callback_set(Evas_Object* ewkView, Ewk_Quota_Permission_Request_Callback callback, void* user_data);
-
-/**
- * Set reply to quota permission request.
- *
- * Set @c EINA_TRUE if user accepts new quota size for origin
- * or @c EINA_FALSE if user doesn't accept new quota for origin.
+ * @param[in] o The view object
+ * @param[in] callback The result callback
+ * @param[in] name The name used to expose the object in JavaScript
  *
- * @param request view object to set the support of the split scrolling for overflow scroll
- * @param enable @c EINA_TRUE allow quota size, @c EINA_FALSE
- *
- * @return void
+ * @return @c EINA_TRUE on success,\n
+ *         otherwise @c EINA_FALSE
  */
-EXPORT_API void ewk_view_quota_permission_request_reply(const Ewk_Quota_Permission_Request* request, const Eina_Bool allow);
+EXPORT_API Eina_Bool ewk_view_javascript_message_handler_add(Evas_Object* o, Ewk_View_Script_Message_Cb callback, const char * name);
 
 /**
- * Cancels quota permission request.
- *
- * @param request view object to set the support of the split scrolling for overflow scroll
- *
- * @return void
- */
-EXPORT_API void ewk_view_quota_permission_request_cancel(const Ewk_Quota_Permission_Request* request);
-
-/*
- * Requests web login using password database.
+ * @brief Requests the execution of given name & result to the JavaScript runtime.
  *
- * @param o view object
+ * @since_tizen 3.0
  *
- * @return void
- */
-EXPORT_API Eina_Bool ewk_view_web_login_request(Evas_Object* ewkView);
-
-/**
- * Sets the notification permission callback.
+ * @param[in] o The view object
+ * @param[in] name The name used to expose the object in JavaScript
+ * @param[in] result The result to the JavaScript runtime
  *
- * @param o view object to request the notification permission
- * @param callback Ewk_View_Notification_Permission_Callback function to notification permission
- * @param user_data user data
+ * @return @c EINA_TRUE on success,\n
+ *         otherwise @c EINA_FALSE
  */
-EXPORT_API void ewk_view_notification_permission_callback_set(Evas_Object *o, Ewk_View_Notification_Permission_Callback callback, void *user_data);
+EXPORT_API Eina_Bool ewk_view_evaluate_javascript(Evas_Object* o, const char* name, const char* result);
 
 #ifdef __cplusplus
 }
 #endif
-
 #endif // ewk_view_h
diff --git a/tizen_src/ewk/efl_integration/public/ewk_view_internal.h b/tizen_src/ewk/efl_integration/public/ewk_view_internal.h
new file mode 100644 (file)
index 0000000..3ce98ec
--- /dev/null
@@ -0,0 +1,1134 @@
+/*
+   Copyright (C) 2016 Samsung Electronics. All rights reserved.
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public License
+    along with this library; see the file COPYING.LIB.  If not, write to
+    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+    Boston, MA 02110-1301, USA.
+*/
+
+/**
+ * @file    ewk_view_internal.h
+ * @brief   Chromium main smart object.
+ *
+ * This object provides view related APIs of Chromium to EFL object.
+ */
+
+#ifndef ewk_view_internal_h
+#define ewk_view_internal_h
+
+#include "ewk_auth_challenge_internal.h"
+#include "ewk_context_internal.h"
+#include "ewk_enums_internal.h"
+#include "ewk_frame_internal.h"
+#include "ewk_geolocation_internal.h"
+#include "ewk_hit_test_internal.h"
+#include "ewk_history_internal.h"
+#include "ewk_page_group_internal.h"
+#include "ewk_quota_permission_request_internal.h"
+#include "ewk_touch_internal.h"
+#include "ewk_user_media_internal.h"
+#include "ewk_view.h"
+#include "ewk_window_features_internal.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/// Enum values containing text directionality values.
+typedef enum {
+    EWK_TEXT_DIRECTION_RIGHT_TO_LEFT,
+    EWK_TEXT_DIRECTION_LEFT_TO_RIGHT
+} Ewk_Text_Direction;
+
+enum Ewk_Password_Popup_Option {
+    EWK_PASSWORD_POPUP_SAVE,
+    EWK_PASSWORD_POPUP_NOT_NOW,
+    EWK_PASSWORD_POPUP_NEVER,
+    EWK_PASSWORD_POPUP_OK = EWK_PASSWORD_POPUP_SAVE,
+    EWK_PASSWORD_POPUP_CANCEL =EWK_PASSWORD_POPUP_NOT_NOW
+};
+typedef enum Ewk_Password_Popup_Option Ewk_Password_Popup_Option;
+
+typedef struct Ewk_View_Smart_Data Ewk_View_Smart_Data;
+typedef struct Ewk_View_Smart_Class Ewk_View_Smart_Class;
+
+// #if PLATFORM(TIZEN)
+/// Creates a type name for _Ewk_Event_Gesture.
+typedef struct Ewk_Event_Gesture Ewk_Event_Gesture;
+
+/// Represents a gesture event.
+struct Ewk_Event_Gesture {
+    Ewk_Gesture_Type type; /**< type of the gesture event */
+    Evas_Coord_Point position; /**< position of the gesture event */
+    Evas_Point velocity; /**< velocity of the gesture event. The unit is pixel per second. */
+    double scale; /**< scale of the gesture event */
+    int count; /**< count of the gesture */
+    unsigned int timestamp; /**< timestamp of the gesture */
+};
+
+// #if ENABLE(TIZEN_FOCUS_UI)
+enum Ewk_Unfocus_Direction {
+    EWK_UNFOCUS_DIRECTION_NONE = 0,
+    EWK_UNFOCUS_DIRECTION_FORWARD,
+    EWK_UNFOCUS_DIRECTION_BACKWARD,
+    EWK_UNFOCUS_DIRECTION_UP,
+    EWK_UNFOCUS_DIRECTION_DOWN,
+    EWK_UNFOCUS_DIRECTION_LEFT,
+    EWK_UNFOCUS_DIRECTION_RIGHT,
+};
+typedef enum Ewk_Unfocus_Direction Ewk_Unfocus_Direction;
+// #endif
+
+// #if ENABLE(TIZEN_INPUT_TAG_EXTENSION)
+/**
+ * \enum    Ewk_Input_Type
+ * @brief   Provides type of focused input element
+ */
+enum Ewk_Input_Type {
+    EWK_INPUT_TYPE_TEXT,
+    EWK_INPUT_TYPE_TELEPHONE,
+    EWK_INPUT_TYPE_NUMBER,
+    EWK_INPUT_TYPE_EMAIL,
+    EWK_INPUT_TYPE_URL,
+    EWK_INPUT_TYPE_PASSWORD,
+    EWK_INPUT_TYPE_COLOR,
+    EWK_INPUT_TYPE_DATE,
+    EWK_INPUT_TYPE_DATETIME,
+    EWK_INPUT_TYPE_DATETIMELOCAL,
+    EWK_INPUT_TYPE_MONTH,
+    EWK_INPUT_TYPE_TIME,
+    EWK_INPUT_TYPE_WEEK
+};
+typedef enum Ewk_Input_Type Ewk_Input_Type;
+// #endif // ENABLE(TIZEN_INPUT_TAG_EXTENSION)
+
+// #if ENABLE(TIZEN_WEBKIT2_TEXT_SELECTION)
+/**
+ * \enum    Ewk_Selection_Handle_Type
+ * @brief   Provides type of selection handle
+ */
+enum Ewk_Selection_Handle_Type {
+    EWK_SELECTION_HANDLE_TYPE_LEFT,
+    EWK_SELECTION_HANDLE_TYPE_RIGHT,
+    EWK_SELECTION_HANDLE_TYPE_LARGE
+};
+typedef enum Ewk_Selection_Handle_Type Ewk_Selection_Handle_Type;
+// #endif // ENABLE(TIZEN_WEBKIT2_TEXT_SELECTION)
+// #endif // #if PLATFORM(TIZEN)
+
+enum Ewk_View_Mode {
+    EWK_VIEW_MODE_WINDOWED = 0,
+    EWK_VIEW_MODE_FLOATING,
+    EWK_VIEW_MODE_FULLSCREEN,
+    EWK_VIEW_MODE_MAXIMIZED,
+    EWK_VIEW_MODE_MINIMIZED
+};
+typedef enum Ewk_View_Mode Ewk_View_Mode;
+
+/// Ewk view's class, to be overridden by sub-classes.
+struct Ewk_View_Smart_Class {
+    Evas_Smart_Class sc; /**< all but 'data' is free to be changed. */
+    unsigned long version;
+
+    Evas_Object* (*window_create)(Ewk_View_Smart_Data *sd, const Ewk_Window_Features *window_features); /**< creates a new window, requested by webkit */
+    void (*window_close)(Ewk_View_Smart_Data *sd); /**< closes a window */
+
+    Eina_Bool (*context_menu_show)(Ewk_View_Smart_Data *sd, Evas_Coord x, Evas_Coord y, Ewk_Context_Menu *menu);
+    Eina_Bool (*context_menu_hide)(Ewk_View_Smart_Data *sd);
+
+    Eina_Bool (*popup_menu_show)(Ewk_View_Smart_Data *sd, Eina_Rectangle rect, Ewk_Text_Direction text_direction, double page_scale_factor, Eina_List* items, int selected_index);
+    Eina_Bool (*popup_menu_hide)(Ewk_View_Smart_Data *sd);
+    Eina_Bool (*popup_menu_update)(Ewk_View_Smart_Data *sd, Eina_Rectangle rect, Ewk_Text_Direction text_direction, Eina_List* items, int selected_index);
+
+    Eina_Bool (*text_selection_down)(Ewk_View_Smart_Data *sd, int x, int y);
+    Eina_Bool (*text_selection_up)(Ewk_View_Smart_Data *sd, int x, int y);
+
+    Eina_Bool (*input_picker_show)(Ewk_View_Smart_Data *sd, Ewk_Input_Type inputType, const char* inputValue);
+
+    Eina_Bool (*orientation_lock)(Ewk_View_Smart_Data* sd, int orientations);
+    void (*orientation_unlock)(Ewk_View_Smart_Data* sd);
+
+    // event handling:
+    //  - returns true if handled
+    //  - if overridden, have to call parent method if desired
+    Eina_Bool (*focus_in)(Ewk_View_Smart_Data *sd);
+    Eina_Bool (*focus_out)(Ewk_View_Smart_Data *sd);
+    Eina_Bool (*fullscreen_enter)(Ewk_View_Smart_Data *sd, Ewk_Security_Origin *origin);
+    Eina_Bool (*fullscreen_exit)(Ewk_View_Smart_Data *sd);
+    Eina_Bool (*mouse_wheel)(Ewk_View_Smart_Data *sd, const Evas_Event_Mouse_Wheel *ev);
+    Eina_Bool (*mouse_down)(Ewk_View_Smart_Data *sd, const Evas_Event_Mouse_Down *ev);
+    Eina_Bool (*mouse_up)(Ewk_View_Smart_Data *sd, const Evas_Event_Mouse_Up *ev);
+    Eina_Bool (*mouse_move)(Ewk_View_Smart_Data *sd, const Evas_Event_Mouse_Move *ev);
+    Eina_Bool (*key_down)(Ewk_View_Smart_Data *sd, const Evas_Event_Key_Down *ev);
+    Eina_Bool (*key_up)(Ewk_View_Smart_Data *sd, const Evas_Event_Key_Up *ev);
+
+    // color picker:
+    //   - Shows and hides color picker.
+    Eina_Bool (*input_picker_color_request)(Ewk_View_Smart_Data *sd, int r, int g, int b, int a);
+    Eina_Bool (*input_picker_color_dismiss)(Ewk_View_Smart_Data *sd);
+
+    // storage:
+    //   - Web database.
+    unsigned long long (*exceeded_database_quota)(Ewk_View_Smart_Data *sd, const char *databaseName, const char *displayName, unsigned long long currentQuota, unsigned long long currentOriginUsage, unsigned long long currentDatabaseUsage, unsigned long long expectedUsage);
+
+    Eina_Bool (*formdata_candidate_show)(Ewk_View_Smart_Data *sd, int x, int y, int w, int h);
+    Eina_Bool (*formdata_candidate_hide)(Ewk_View_Smart_Data *sd);
+    Eina_Bool (*formdata_candidate_update_data)(Ewk_View_Smart_Data *sd, Eina_List *dataList);
+    Eina_Bool (*formdata_candidate_is_showing)(Ewk_View_Smart_Data *sd);
+
+    Eina_Bool (*gesture_start)(Ewk_View_Smart_Data *sd, const Ewk_Event_Gesture *ev);
+    Eina_Bool (*gesture_end)(Ewk_View_Smart_Data *sd, const Ewk_Event_Gesture *ev);
+    Eina_Bool (*gesture_move)(Ewk_View_Smart_Data *sd, const Ewk_Event_Gesture *ev);
+
+    void (*selection_handle_down)(Ewk_View_Smart_Data *sd, Ewk_Selection_Handle_Type handleType, int x, int y);
+    void (*selection_handle_move)(Ewk_View_Smart_Data *sd, Ewk_Selection_Handle_Type handleType, int x, int y);
+    void (*selection_handle_up)(Ewk_View_Smart_Data *sd, Ewk_Selection_Handle_Type handleType, int x, int y);
+
+    Eina_Bool (*window_geometry_set)(Ewk_View_Smart_Data *sd, Evas_Coord x, Evas_Coord y, Evas_Coord width, Evas_Coord height);
+    Eina_Bool (*window_geometry_get)(Ewk_View_Smart_Data *sd, Evas_Coord *x, Evas_Coord *y, Evas_Coord *width, Evas_Coord *height);
+};
+
+// #if PLATFORM(TIZEN)
+/**
+ * Callback for ewk_view_web_app_capable_get
+ *
+ * @param capable web application capable
+ * @param user_data user_data will be passsed when ewk_view_web_app_capable_get is called
+ */
+typedef void (*Ewk_Web_App_Capable_Get_Callback)(Eina_Bool capable, void* user_data);
+
+/**
+ * Callback for ewk_view_web_app_icon_get
+ *
+ * @param icon_url web application icon
+ * @param user_data user_data will be passsed when ewk_view_web_app_icon_get is called
+ */
+typedef void (*Ewk_Web_App_Icon_URL_Get_Callback)(const char* icon_url, void* user_data);
+
+/**
+ * Callback for ewk_view_screenshot_contents_get_async
+ *
+ * @param image captured screenshot
+ * @param user_data user_data will be passsed when ewk_view_screenshot_contents_get_async is called
+ */
+typedef void (*Ewk_Web_App_Screenshot_Captured_Callback)(Evas_Object* image, void* user_data);
+
+/**
+ * Callback for ewk_view_web_app_icon_urls_get.
+ *
+ * @param icon_urls list of Ewk_Web_App_Icon_Data for web app
+ * @param user_data user_data will be passsed when ewk_view_web_app_icon_urls_get is called
+ */
+typedef void (*Ewk_Web_App_Icon_URLs_Get_Callback)(Eina_List *icon_urls, void *user_data);
+// #endif
+
+/**
+ * Callback for ewk_view_notification_permission_callback_set
+ *
+ * @param o view object to request the notification permission
+ * @param request Ewk_Notification_Permission_Request object to get the information about notification permission request.
+ * @param user_data user data
+ *
+ * @return returned value is not used
+ */
+typedef Eina_Bool (*Ewk_View_Notification_Permission_Callback)(Evas_Object *o, Ewk_Notification_Permission_Request *request, void *user_data);
+
+/**
+ * Defines a callback for scale change.
+ *
+ * @param o view object to register on scale change
+ * @param scale_factor the scale applied to view
+ * @param user_data a pointer to data specified by ewk_view_scale_changed_callback_set
+ */
+typedef void (*Ewk_View_Scale_Changed_Callback)(Evas_Object *o, double scale_factor, void *user_data);
+
+/**
+ * The version you have to put into the version field
+ * in the @a Ewk_View_Smart_Class structure.
+ */
+#define EWK_VIEW_SMART_CLASS_VERSION 1UL
+
+/**
+ * Initializer for whole Ewk_View_Smart_Class structure.
+ *
+ * @param smart_class_init initializer to use for the "base" field
+ * (Evas_Smart_Class).
+ *
+ * @see EWK_VIEW_SMART_CLASS_INIT_NULL
+ * @see EWK_VIEW_SMART_CLASS_INIT_VERSION
+ * @see EWK_VIEW_SMART_CLASS_INIT_NAME_VERSION
+ */
+#define EWK_VIEW_SMART_CLASS_INIT(smart_class_init) {smart_class_init, EWK_VIEW_SMART_CLASS_VERSION}
+
+/**
+* Initializer to zero a whole Ewk_View_Smart_Class structure.
+*
+* @see EWK_VIEW_SMART_CLASS_INIT_VERSION
+* @see EWK_VIEW_SMART_CLASS_INIT_NAME_VERSION
+* @see EWK_VIEW_SMART_CLASS_INIT
+*/
+#define EWK_VIEW_SMART_CLASS_INIT_NULL EWK_VIEW_SMART_CLASS_INIT(EVAS_SMART_CLASS_INIT_NULL)
+
+/**
+ * Initializer to zero a whole Ewk_View_Smart_Class structure and set
+ * name and version.
+ *
+ * Similar to EWK_VIEW_SMART_CLASS_INIT_NULL, but will set version field of
+ * Evas_Smart_Class (base field) to latest EVAS_SMART_CLASS_VERSION and name
+ * to the specific value.
+ *
+ * It will keep a reference to name field as a "const char *", that is,
+ * name must be available while the structure is used (hint: static or global!)
+ * and will not be modified.
+ *
+ * @see EWK_VIEW_SMART_CLASS_INIT_NULL
+ * @see EWK_VIEW_SMART_CLASS_INIT_VERSION
+ * @see EWK_VIEW_SMART_CLASS_INIT
+ */
+#define EWK_VIEW_SMART_CLASS_INIT_NAME_VERSION(name) EWK_VIEW_SMART_CLASS_INIT(EVAS_SMART_CLASS_INIT_NAME_VERSION(name))
+
+typedef struct EwkViewImpl EwkViewImpl;
+/**
+ * @brief Contains an internal View data.
+ *
+ * It is to be considered private by users, but may be extended or
+ * changed by sub-classes (that's why it's in public header file).
+ */
+struct Ewk_View_Smart_Data {
+    Evas_Object_Smart_Clipped_Data base;
+    const Ewk_View_Smart_Class* api; /**< reference to casted class instance */
+    Evas_Object* self; /**< reference to owner object */
+    EwkViewImpl* priv; /**< should never be accessed, c++ stuff */
+    struct {
+        Evas_Coord x, y, w, h; /**< last used viewport */
+    } view;
+    struct { /**< what changed since last smart_calculate */
+        Eina_Bool any:1;
+
+        // WebKit use these but we don't. We should remove these if we are sure
+        // we do it right.
+        Eina_Bool size:1;
+        Eina_Bool position:1;
+    } changed;
+};
+
+/**
+ * Sets the smart class APIs, enabling view to be inherited.
+ *
+ * @param api class definition to set, all members with the
+ *        exception of @a Evas_Smart_Class->data may be overridden, must
+ *        @b not be @c NULL
+ *
+ * @note @a Evas_Smart_Class->data is used to implement type checking and
+ *       is not supposed to be changed/overridden. If you need extra
+ *       data for your smart class to work, just extend
+ *       Ewk_View_Smart_Class instead.
+ *       The Evas_Object which inherits the ewk_view should use
+ *       ewk_view_smart_add() to create Evas_Object instead of
+ *       evas_object_smart_add() because it performs additional initialization
+ *       for the ewk_view.
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure (probably
+ *         version mismatch)
+ *
+ * @see ewk_view_smart_add()
+ */
+EXPORT_API Eina_Bool ewk_view_smart_class_set(Ewk_View_Smart_Class *api);
+
+/**
+ * Creates a new EFL WebKit view object with Evas_Smart and Ewk_Context.
+ *
+ * @note The Evas_Object which inherits the ewk_view should create its
+ *       Evas_Object using this API instead of evas_object_smart_add()
+ *       because the default initialization for ewk_view is done in this API.
+ *
+ * @param e canvas object where to create the view object
+ * @param smart Evas_Smart object. Its type should be EWK_VIEW_TYPE_STR
+ * @param context Ewk_Context object which is used for initializing
+ * @param pageGroup Ewk_Page_Group object which is used for initializing
+ *
+ * @return view object on success or @c NULL on failure
+ */
+EXPORT_API Evas_Object *ewk_view_smart_add(Evas *e, Evas_Smart *smart, Ewk_Context *context, Ewk_Page_Group *pageGroup);
+
+/**
+ * Creates a new EFL WebKit view object based on specific Ewk_Context.
+ *
+ * @note If used to created a new ewk_view object in response to a
+ *       "create,window" smart signal (emitted by the web engine), this
+ *       function must pass as context parameter the same context instance
+ *       as of the originating ewk_view object's context, e.g.:
+ *
+ *       - Scenario 1: parent view created with default context:
+ *
+ *         parent_view = ewk_view_add(evas); // uses the default context.
+ *                                 or
+ *         parent_view = ewk_view_add_with_context(evas, ewk_context_default_get());
+ *                                 then
+ *         // Valid cases:
+ *         child_view = ewk_view_add_with_context(evas, ewk_view_context_get(parent_view));
+ *                                 or
+ *         child_view = ewk_view_add_with_context(evas, ewk_context_default_get());
+ *
+ *         // Invalid case:
+ *         view_view = ewk_view_add_with_context(evas, ewk_context_new());
+ *
+ *       - Scenario 2: parent created with a new context:
+ *
+ *         parent_view = ewk_view_add_with_context(evas, ewk_context_new());
+ *                                 then
+ *         // Valid case:
+ *         child_view = ewk_view_add_with_context(evas, ewk_view_context_get(parent_view));
+ *
+ *         // Invalid cases:
+ *         child_view = ewk_view_add_with_context(evas, ewk_context_new());
+ *                                 or
+ *         child_view = ewk_view_add_with_context(evas, ewk_context_default_get());
+ *
+ * @param e canvas object where to create the view object
+ * @param context Ewk_Context object to declare process model
+ *
+ * @return view object on success or @c NULL on failure
+ */
+EXPORT_API Evas_Object *ewk_view_add_with_context(Evas *e, Ewk_Context *context);
+
+enum Ewk_Page_Visibility_State {
+    EWK_PAGE_VISIBILITY_STATE_VISIBLE,
+    EWK_PAGE_VISIBILITY_STATE_HIDDEN,
+    EWK_PAGE_VISIBILITY_STATE_PRERENDER
+};
+typedef enum Ewk_Page_Visibility_State Ewk_Page_Visibility_State;
+
+/**
+ * Callback for ewk_view_script_execute
+ *
+ * @param o the view object
+ * @param result_value value returned by script
+ * @param user_data user data
+ */
+typedef void (*Ewk_View_Script_Execute_Callback)(Evas_Object* o, const char* result_value, void* user_data);
+
+/**
+ * Callback for ewk_view_plain_text_get
+ *
+ * @param o the view object
+ * @param plain_text the contents of the given frame converted to plain text
+ * @param user_data user data
+ */
+typedef void (*Ewk_View_Plain_Text_Get_Callback)(Evas_Object* o, const char* plain_text, void* user_data);
+
+/**
+ * Creates a type name for the callback function used to get the page contents.
+ *
+ * @param o view object
+ * @param data mhtml data of the page contents
+ * @param user_data user data will be passed when ewk_view_mhtml_data_get is called
+ */
+typedef void (*Ewk_View_MHTML_Data_Get_Callback)(Evas_Object *o, const char *data, void *user_data);
+
+
+/**
+ * @brief Gets whether vertical panning is holding.
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] o view object to get whether vertical panning is holding
+ *
+ * @return @c EINA_TRUE if vertical panning is holding
+ *         @c EINA_FALSE if not or on failure
+ */
+EXPORT_API Eina_Bool ewk_view_vertical_panning_hold_get(Evas_Object* o);
+
+/**
+  * Block/Release the vertical pan
+  *
+  * @param o view object on which pan is to be blocked/release
+  * @param hold status of pan
+  */
+EXPORT_API void ewk_view_vertical_panning_hold_set(Evas_Object* o, Eina_Bool hold);
+
+/**
+ * Gets the minimum and maximum value of the scale range or -1 on failure
+ *
+ * @param o view object to get the minimum and maximum value of the scale range
+ * @param min_scale Pointer to an double in which to store the minimum scale factor of the object.
+ * @param max_scale Pointer to an double in which to store the maximum scale factor of the object.
+ *
+ * @note Use @c NULL pointers on the scale components you're not
+ * interested in: they'll be ignored by the function.
+ */
+EXPORT_API void ewk_view_scale_range_get(Evas_Object* o, double* min_scale, double* max_scale);
+
+/**
+ * Gets the current text zoom level.
+ *
+ * @param o view object to get the zoom level
+ *
+ * @return current zoom level in use on success or @c -1.0 on failure
+ */
+EXPORT_API double ewk_view_text_zoom_get(const Evas_Object* o);
+
+/**
+ * Sets the current text zoom level.
+ *
+ * @param o view object to set the zoom level
+ * @param textZoomFactor a new level to set
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
+ */
+EXPORT_API Eina_Bool ewk_view_text_zoom_set(Evas_Object* o, double text_zoom_factor);
+
+typedef Eina_Bool (*Ewk_View_Password_Confirm_Popup_Callback)(Evas_Object* o, const char* message, void* user_data);
+EXPORT_API void ewk_view_password_confirm_popup_callback_set(Evas_Object* o, Ewk_View_Password_Confirm_Popup_Callback callback, void* user_data);
+EXPORT_API void ewk_view_password_confirm_popup_reply(Evas_Object* o, Ewk_Password_Popup_Option result);
+
+typedef Eina_Bool (*Ewk_View_JavaScript_Alert_Callback)(Evas_Object* o, const char* alert_text, void* user_data);
+EXPORT_API void ewk_view_javascript_alert_callback_set(Evas_Object* o, Ewk_View_JavaScript_Alert_Callback callback, void* user_data);
+EXPORT_API void ewk_view_javascript_alert_reply(Evas_Object* o);
+
+
+typedef Eina_Bool (*Ewk_View_JavaScript_Confirm_Callback)(Evas_Object* o, const char* message, void* user_data);
+EXPORT_API void ewk_view_javascript_confirm_callback_set(Evas_Object* o, Ewk_View_JavaScript_Confirm_Callback callback, void* user_data);
+
+/**
+ * Callback for ewk_view_javascript_prompt_callback_set
+ *
+ * @param o the view object
+ * @param message the text to be displayed on the prompt popup
+ * @param default_value default text to be entered in the prompt dialog
+ * @param user_data user data
+ */
+typedef Eina_Bool (*Ewk_View_JavaScript_Prompt_Callback)(Evas_Object* o, const char* message, const char* default_value, void* user_data);
+
+/**
+ * Display javascript prompt popup
+ *
+ * @param o view object
+ * @param callback callback function to be called when the prompt popup is to be opened
+ * @param user_data user data
+ *
+ */
+EXPORT_API void ewk_view_javascript_prompt_callback_set(Evas_Object* o, Ewk_View_JavaScript_Prompt_Callback callback, void* user_data);
+
+//#if ENABLE(TIZEN_SUPPORT_BEFORE_UNLOAD_CONFIRM_PANEL)
+typedef Eina_Bool (*Ewk_View_Before_Unload_Confirm_Panel_Callback)(Evas_Object* o, const char* message, void* user_data);
+//#endif
+
+//#if ENABLE(TIZEN_APPLICATION_CACHE)
+typedef Eina_Bool (*Ewk_View_Applicacion_Cache_Permission_Callback)(Evas_Object* o, Ewk_Security_Origin* origin,  void* user_data);
+//#endif
+
+typedef Eina_Bool (*Ewk_View_Exceeded_Indexed_Database_Quota_Callback)(Evas_Object* o, Ewk_Security_Origin* origin, long long currentQuota, void* user_data);
+EXPORT_API void ewk_view_exceeded_indexed_database_quota_callback_set(Evas_Object* o, Ewk_View_Exceeded_Indexed_Database_Quota_Callback callback, void* user_data);
+EXPORT_API void ewk_view_exceeded_indexed_database_quota_reply(Evas_Object* o, Eina_Bool allow);
+
+
+typedef Eina_Bool (*Ewk_View_Exceeded_Database_Quota_Callback)(Evas_Object* o, Ewk_Security_Origin* origin, const char* database_name, unsigned long long expectedQuota, void* user_data);
+EXPORT_API void ewk_view_exceeded_database_quota_callback_set(Evas_Object* o, Ewk_View_Exceeded_Database_Quota_Callback callback, void* user_data);
+EXPORT_API void ewk_view_exceeded_database_quota_reply(Evas_Object* o, Eina_Bool allow);
+
+typedef Eina_Bool (*Ewk_View_Exceeded_Local_File_System_Quota_Callback)(Evas_Object* o, Ewk_Security_Origin* origin, long long currentQuota, void* user_data);
+EXPORT_API void ewk_view_exceeded_local_file_system_quota_callback_set(Evas_Object* o, Ewk_View_Exceeded_Local_File_System_Quota_Callback callback, void* user_data);
+EXPORT_API void ewk_view_exceeded_local_file_system_quota_reply(Evas_Object* o, Eina_Bool allow);
+//#if ENABLE(TIZEN_FOCUS_UI)
+typedef Eina_Bool (*Ewk_View_Unfocus_Allow_Callback)(Evas_Object* o, Ewk_Unfocus_Direction direction, void* user_data);
+//#endif
+
+/**
+ * Callback for geolocation permission request feature.
+ *
+ * @param ewk_view view object where geolocation permission was requested
+ * @param request geolocation permission request object
+ * @param user_data user data passed to
+ *        ewk_view_geolocation_permission_callback_set
+ *
+ * @return Unused
+ */
+typedef Eina_Bool (*Ewk_View_Geolocation_Permission_Callback)(Evas_Object* ewk_view, Ewk_Geolocation_Permission_Request* request, void* user_data);
+
+/**
+ * Sets callback which will be called upon geolocation permission request. This
+ * function can be used also to unset this callback. Do that by passing NULL as
+ * callback param.
+ *
+ * @param ewk_view view object to set the callback to
+ * @param callback callback function called upon geolocation permission request
+ * @param user_data user_data passsed to set callback when called
+ *
+ * @note When callback is set by this function, it will be called insted of
+ *       "geolocation,permission,request" smart callback.
+ */
+EXPORT_API void ewk_view_geolocation_permission_callback_set(Evas_Object* ewk_view, Ewk_View_Geolocation_Permission_Callback callback, void* user_data);
+
+typedef Eina_Bool (*Ewk_View_User_Media_Permission_Callback)(
+    Evas_Object* ewk_view,
+    Ewk_User_Media_Permission_Request* user_media_permission_request,
+    void* user_data);
+EXPORT_API void ewk_view_user_media_permission_callback_set(
+    Evas_Object* ewk_view,
+    Ewk_View_User_Media_Permission_Callback callback,
+    void* user_data);
+
+/**
+ * Callback for ewk_view_authentication_callback_set
+ *
+ * @param o the view object
+ * @param auth_challenge Ewk_Auth_Challenge object to get the information about authentication
+ * @param user_data user data
+ */
+typedef void (*Ewk_View_Authentication_Callback)(Evas_Object* o, Ewk_Auth_Challenge* auth_challenge, void* user_data);
+
+/**
+ * Sets the callback authentication.
+ *
+ * @param o the view object
+ * @param callback callback function to be called when the authentication is called
+ * @param user_data user data
+ *
+ * @note When callback is set by this function,
+ *       class of Ewk_Auth_Challenge is passed by callback function.
+ *
+ * @see Ewk_View_Authentication_Callback
+ */
+EXPORT_API void ewk_view_authentication_callback_set(Evas_Object* o, Ewk_View_Authentication_Callback callback, void* user_data);
+
+EXPORT_API Eina_Bool ewk_view_mode_set(Evas_Object* ewkView, Ewk_View_Mode view_mode);
+
+/**
+ * Requests the specified plain text string into the view object
+ *
+ * @note The mime type of document will be "text/plain".
+ *
+ * @return @c EINA_TRUE on successful request, @c EINA_FALSE on errors
+ */
+EXPORT_API Eina_Bool ewk_view_plain_text_set(Evas_Object* o, const char* plain_text);
+
+/**
+ * Requests for setting page visibility state.
+ *
+ * @param o view object to set the page visibility
+ * @param page_visibility_state visible state of the page to set
+ * @param initial_state @c EINA_TRUE if this function is called at page initialization time,
+ *                     @c EINA_FALSE otherwise
+ *
+ * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_view_page_visibility_state_set(Evas_Object* o, Ewk_Page_Visibility_State page_visibility_state, Eina_Bool initial_state);
+
+/**
+* Request to set the user agent with application name.
+*
+* @param o view object to set the user agent with application name
+*
+* @param application_name string to set the user agent
+*
+* @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+*/
+EXPORT_API Eina_Bool ewk_view_application_name_for_user_agent_set(Evas_Object* o, const char* application_name);
+
+/**
+* Returns application name string.
+*
+* @param o view object to get the application name
+*
+* @return @c application name. The returned string @b should be freed by
+*         eina_stringshare_del() after use.
+*/
+EXPORT_API const char* ewk_view_application_name_for_user_agent_get(const Evas_Object* o);
+
+/*
+* add custom header
+*
+* @param o view object to add custom header
+*
+* @param name custom header name to add the custom header
+*
+* @param value custom header value to add the custom header
+*
+* @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+*/
+EXPORT_API Eina_Bool ewk_view_custom_header_add(const Evas_Object* o, const char* name, const char* value);
+/**
+* remove custom header
+*
+* @param o view object to remove custom header
+*
+* @param name custom header name to remove the custom header
+*
+* @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+*/
+EXPORT_API Eina_Bool ewk_view_custom_header_remove(const Evas_Object* o, const char* name);
+/**
+* clears all custom headers
+*
+* @param o view object to clear custom headers
+*
+* @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+*/
+EXPORT_API Eina_Bool ewk_view_custom_header_clear(const Evas_Object* o);
+
+/**
+ * Returns the evas image object of the specified viewArea of page
+ *
+ * The returned evas image object @b should be freed after use.
+ *
+ * @param o view object to get specified rectangle of cairo surface.
+ * @param viewArea rectangle of cairo surface.
+ * @param scaleFactor scale factor of cairo surface.
+ * @param canvas canvas for creating evas image.
+ *
+ * @return newly allocated evas image object on sucess or @c 0 on failure.
+ */
+EXPORT_API Evas_Object* ewk_view_screenshot_contents_get(const Evas_Object* o, Eina_Rectangle viewArea, float scaleFactor, Evas* canvas);
+
+/**
+ * Makes request of evas image object of the specified viewArea of page asynchronously
+ *
+ * The returned evas image object through async callback @b should be freed after use.
+ *
+ * @param o view object to get specified rectangle of cairo surface.
+ * @param viewArea rectangle of cairo surface.
+ * @param scaleFactor scale factor of cairo surface.
+ * @param canvas canvas for creating evas image.
+ * @param callback result callback to get captured screenshot.
+ * @param user_data will be passed when result_callback is called
+ *    -I.e., user data will be kept until callback is called.
+ *
+ * @return @c EINA_TRUE on successful request, @c EINA_FALSE on errors.
+ */
+EXPORT_API Eina_Bool ewk_view_screenshot_contents_get_async(const Evas_Object* o, Eina_Rectangle viewArea, float scaleFactor, Evas* canvas, Ewk_Web_App_Screenshot_Captured_Callback callback, void* user_data);
+
+/**
+ * Start a server for inspecting web pages
+ * This server will be used by Remote Web Browser to transfer messages over network
+ *
+ * @param [o] view object to debug
+ * @param [in] port It is a port number for the server. A free port on system will be allocated if port is 0
+ *
+ * @return @c assigned port number on success or @c 0 on failure
+ */
+EXPORT_API unsigned int ewk_view_inspector_server_start(Evas_Object* o, unsigned int port);
+
+/**
+ * Stop a server for inspecting web pages
+ *
+ * @param [o] view object to debug
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
+ */
+EXPORT_API Eina_Bool ewk_view_inspector_server_stop(Evas_Object* o);
+
+/**
+ * Gets the possible scroll size of the given view.
+ *
+ * Possible scroll size is contents size minus the viewport size.
+ *
+ * @param o view object to get scroll size
+ * @param w the pointer to store the horizontal size that is possible to scroll,
+ *        may be @c 0
+ * @param h the pointer to store the vertical size that is possible to scroll,
+ *        may be @c 0
+ *
+ * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise and
+ *         values are zeroed
+ */
+EXPORT_API Eina_Bool ewk_view_scroll_size_get(const Evas_Object* o, int* w, int* h);
+
+/**
+ * Executes editor command.
+ *
+ * @param o view object to execute command
+ * @param command editor command to execute
+ * @param value the value to be passed into command
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_view_command_execute(Evas_Object* o, const char* command, const char* value);
+
+/**
+ * Retrieve the contents in plain text.
+ *
+ * @param o view object whose contents to retrieve.
+ * @param callback result callback
+ * @param user_data user data
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
+ */
+EXPORT_API Eina_Bool ewk_view_plain_text_get(Evas_Object* o, Ewk_View_Plain_Text_Get_Callback callback, void* user_data);
+
+/**
+ * Get page contents as MHTML data
+ *
+ * @param o view object to get the page contents
+ * @param callback callback function to be called when the operation is finished
+ * @param user_data user data to be passed to the callback function
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
+ */
+EXPORT_API Eina_Bool ewk_view_mhtml_data_get(Evas_Object *o, Ewk_View_MHTML_Data_Get_Callback callback, void *user_data);
+
+typedef void (*Ewk_View_Hit_Test_Request_Callback)(Evas_Object* o, int x, int y, int hit_test_mode, Ewk_Hit_Test*, void* user_data);
+
+/**
+ * Requests new hit test for given view object and point.
+ *
+ * @param o              view object to do hit test on
+ * @param x              the horizontal position to query
+ * @param y              the vertical position to query
+ * @param hit_test_mode  the Ewk_Hit_Test_Mode enum value to query
+ * @param callback       callback to be executed when hit test request was finished
+ *
+ * @return EINA_TRUE if hit test request was queued, otherwise EINA_FALSE
+ */
+EXPORT_API Eina_Bool ewk_view_hit_test_request(Evas_Object* o, int x, int y, int hit_test_mode, Ewk_View_Hit_Test_Request_Callback, void* user_data);
+
+/**
+ * Deprecated.
+ * Notify that notification is closed.
+ *
+ * @param notification_list list of Ewk_Notification pointer
+ *        notification_list is freed in this function.
+ *
+ * @return this function will always return EINA_FALSE since it is deprecated
+ *
+ * @deprecated
+ * @see ewk_notification_closed
+ */
+EINA_DEPRECATED EXPORT_API Eina_Bool ewk_view_notification_closed(Evas_Object* o, Eina_List* notification_list);
+
+/**
+ * Sets the encoding and reloads the page.
+ *
+ * @param ewkView view to set the encoding
+ * @param encoding the new encoding to set or @c 0 to restore the default one
+ */
+EXPORT_API void ewk_view_encoding_custom_set(Evas_Object* ewkView, const char* encoding);
+
+// #endif // ENABLE(TIZEN_INPUT_TAG_EXTENSION)
+
+/**
+ * Sets whether the ewk_view supports the mouse events or not.
+ *
+ * The ewk_view will support the mouse events if EINA_TRUE or not support the
+ * mouse events otherwise. The default value is EINA_TRUE.
+ *
+ * @param o view object to enable/disable the mouse events
+ * @param enabled a state to set
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_view_mouse_events_enabled_set(Evas_Object *o, Eina_Bool enabled);
+
+/**
+ * Queries if the ewk_view supports the mouse events.
+ *
+ * @param o view object to query if the mouse events are enabled
+ *
+ * @return @c EINA_TRUE if the mouse events are enabled or @c EINA_FALSE otherwise
+ */
+EXPORT_API Eina_Bool ewk_view_mouse_events_enabled_get(const Evas_Object *o);
+
+typedef Eina_Bool (*Ewk_Orientation_Lock_Cb)(Evas_Object* o, Eina_Bool need_lock, int orientation, void* user_data);
+
+ /**
+ * Deprecated
+ * Sets callback of orientation lock function
+ *
+ * func will be called when screen lock is called or unlock is called.
+ * When screen.lockOrientation is called, need_lock will be true and orientation
+ * will be the flags which should be locked.
+ * For example, when contents called 'screen.lockOrientation("portrait"), orientation
+ * will be EWK_SCREEN_ORIENTATION_PORTRAIT_PRIMARY | EWK_SCREEN_ORIENTATION_PORTRAIT_SECONDARY
+ * When screen.unlockOrientation is called, need_lock will be false.
+ *
+ * @param o view object to set the callback of orientation
+ * @param func callback function to be called when screen orientation is locked or unlocked.
+ * @param use_data user_data will be passsed when ewk_view_web_app_icon_get is called
+ *
+ * @return current URI on success or @c 0 on failure
+ */
+EINA_DEPRECATED EXPORT_API void ewk_view_orientation_lock_callback_set(Evas_Object *o, Ewk_Orientation_Lock_Cb func, void* user_data);
+
+/**
+ * Sets the callback on the scale factor change.
+ *
+ * The given callback function will be called when the engine has successfully
+ * changed the scale factor. It happens, for example, after ewk_view_scale_set
+ * call but not only. The engine itself can change the scale while rendering
+ * the content, for example, when ewk_settings_auto_fitting is turned on.
+ *
+ * @param o view object to set the callback
+ * @param callback the callback funtion which will be called on scale change
+ * @param user_data pointer to the data which will be passed while calling the callback
+ */
+EXPORT_API void ewk_view_scale_changed_callback_set(Evas_Object *o, Ewk_View_Scale_Changed_Callback callback, void *user_data);
+
+/**
+ * Clears the highlight of searched text.
+ *
+ * @param o view object to find text
+ *
+ * @return @c EINA_TRUE on success, @c EINA_FALSE on errors
+ */
+EXPORT_API Eina_Bool ewk_view_text_find_highlight_clear(Evas_Object *o);
+
+/**
+ * Sets whether the ewk_view supports the touch events or not.
+ *
+ * The ewk_view will support the touch events if @c EINA_TRUE or not support the
+ * touch events otherwise. The default value is @c EINA_FALSE.
+ *
+ * @param o view object to enable/disable the touch events
+ * @param enabled a state to set
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_view_touch_events_enabled_set(Evas_Object *o, Eina_Bool enabled);
+
+/**
+ * Queries if the ewk_view supports the touch events.
+ *
+ * @param o view object to query if the touch events are enabled
+ *
+ * @return @c EINA_TRUE if the touch events are enabled or @c EINA_FALSE otherwise
+ */
+EXPORT_API Eina_Bool ewk_view_touch_events_enabled_get(const Evas_Object *o);
+
+/// Enum values containing Content Security Policy header types.
+enum _Ewk_CSP_Header_Type {
+  EWK_REPORT_ONLY,
+  EWK_ENFORCE_POLICY,
+  EWK_DEFAULT_POLICY
+};
+typedef enum _Ewk_CSP_Header_Type Ewk_CSP_Header_Type;
+
+/**
+ * Set received Content Security Policy data from web app
+ *
+ * @param o view object
+ * @param policy Content Security Policy data
+ * @param type Content Security Policy header type
+ *
+ */
+EXPORT_API void ewk_view_content_security_policy_set(Evas_Object* o, const char* policy, Ewk_CSP_Header_Type type);
+
+/**
+ * When font-family is "Tizen", use system's Settings font as default font-family
+ *
+ * @param o view object
+ *
+ */
+EXPORT_API void ewk_view_use_settings_font(Evas_Object* o);
+
+/*
+ * Get cookies associated with an URL.
+ *
+ * @param o view object in which URL is opened.
+ * @param url the url for which cookies needs to be obtained.
+ *
+ * @return @c character array containing cookies, @c NULL if no cookies are found.
+ *
+ * The return character array has to be owned by the application and freed when not required.
+ */
+EXPORT_API char* ewk_view_get_cookies_for_url(Evas_Object* o, const char* url);
+
+/**
+ * Sets whether to draw transparent background or not.
+ *
+ * @param o view object to enable/disable transparent background
+ * @param enabled a state to set
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_view_draws_transparent_background_set(Evas_Object *o, Eina_Bool enabled);
+
+/**
+ * @brief Sets the background color and transparency of the view.
+ *
+ * @note Should be used after ewk_view_url_set().
+ *
+ * @param[in] o view object to change the background color
+ * @param[in] r red color component [0..255]
+ * @param[in] g green color component [0..255]
+ * @param[in] b blue color component [0..255]
+ * @param[in] a transparency [0..255]
+ *
+ * @return @c EINA_TRUE on success, otherwise @c EINA_FALSE
+ */
+EXPORT_API Eina_Bool ewk_view_bg_color_set(Evas_Object* o, int r, int g, int b, int a);
+
+/**
+ * set a font for browser application
+ *
+ * @param o view object
+ *
+ */
+EXPORT_API void ewk_view_browser_font_set(Evas_Object* o);
+
+/**
+ * Load the error page which web page is not found.
+ *
+ * @param ewkView view object whose session needs to be stored.
+ * @param ErrorUrl that could not be found.
+ *
+ * @return void
+ */
+EXPORT_API void ewk_view_not_found_error_page_load(Evas_Object* ewkView, const char* ErrorUrl);
+
+/**
+ * Enable or disable supporting of the split scrolling for overflow scroll.
+ *
+ * @param ewkView view object to set the support of the split scrolling for overflow scroll
+ * @param enable @c EINA_TRUE to support split scrolling, @c EINA_FALSE not to support
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_view_split_scroll_overflow_enabled_set(Evas_Object* ewkView, const Eina_Bool enabled);
+
+/**
+ * Set Draw Focus Ring for CacheBuilder
+ *
+ * @param ewkView view object
+ * @@param enabled a state to set
+ *
+ */
+EXPORT_API void ewk_view_draw_focus_ring_enable_set(Evas_Object* ewkView, Eina_Bool enable);
+
+/**
+ * Queries the current zoom factor of the page.
+ *
+ * @param o view object to get the zoom factor
+ *
+ * @return current zoom factor in use on success or @c -1.0 on failure
+ */
+EXPORT_API double ewk_view_page_zoom_get(const Evas_Object *o);
+
+/**
+ * Sets zoom factor of the current page.
+ *
+ * @param o view object to set the zoom level
+ * @param zoom_factor a new level to set
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
+ */
+EXPORT_API Eina_Bool ewk_view_page_zoom_set(Evas_Object *o, double zoom_factor);
+
+/**
+ * Creates a new EFL WebKit view object with Evas_Smart and Ewk_Context.
+ *
+ * @note The Evas_Object which inherits the ewk_view should create its
+ *       Evas_Object using this API instead of evas_object_smart_add()
+ *       because the default initialization for ewk_view is done in this API.
+ *
+ * @param e canvas object where to create the view object
+ * @param smart Evas_Smart object. Its type should be EWK_VIEW_TYPE_STR
+ * @param context Ewk_Context object which is used for initializing
+ * @param pageGroup Ewk_Page_Group object which is used for initializing
+ *
+ * @return view object on success or @c NULL on failure
+ */
+EXPORT_API Evas_Object *ewk_view_smart_add(Evas *e, Evas_Smart *smart, Ewk_Context *context, Ewk_Page_Group *pageGroup);
+
+/**
+ * Callback for quota permission request feature.
+ *
+ * @param ewkView view object where quota permission was requested
+ * @param request quota permission request object
+ * @param user_data user_data passed to ewk_view_quota_permission_request_callback_set
+ */
+typedef void (*Ewk_Quota_Permission_Request_Callback)(Evas_Object* ewkView, const Ewk_Quota_Permission_Request* request, void* user_data);
+
+/**
+ * Sets callback quota permission request.
+ *
+ * func will be called when page requests increased storage quota.
+ *
+ * @param ewkView view object to set the callback
+ * @param func callback function to be called when quota permission is requested
+ * @param use_data user_data will be passsed to callback function
+ *
+ * @return void
+ */
+EXPORT_API void ewk_view_quota_permission_request_callback_set(Evas_Object* ewkView, Ewk_Quota_Permission_Request_Callback callback, void* user_data);
+
+/**
+ * Set reply to quota permission request.
+ *
+ * Set @c EINA_TRUE if user accepts new quota size for origin
+ * or @c EINA_FALSE if user doesn't accept new quota for origin.
+ *
+ * @param request view object to set the support of the split scrolling for overflow scroll
+ * @param enable @c EINA_TRUE allow quota size, @c EINA_FALSE
+ *
+ * @return void
+ */
+EXPORT_API void ewk_view_quota_permission_request_reply(const Ewk_Quota_Permission_Request* request, const Eina_Bool allow);
+
+/**
+ * Cancels quota permission request.
+ *
+ * @param request view object to set the support of the split scrolling for overflow scroll
+ *
+ * @return void
+ */
+EXPORT_API void ewk_view_quota_permission_request_cancel(const Ewk_Quota_Permission_Request* request);
+
+/*
+ * Requests web login using password database.
+ *
+ * @param o view object
+ *
+ * @return void
+ */
+EXPORT_API Eina_Bool ewk_view_web_login_request(Evas_Object* ewkView);
+
+/**
+ * Sets the notification permission callback.
+ *
+ * @param o view object to request the notification permission
+ * @param callback Ewk_View_Notification_Permission_Callback function to notification permission
+ * @param user_data user data
+ */
+EXPORT_API void ewk_view_notification_permission_callback_set(Evas_Object *o, Ewk_View_Notification_Permission_Callback callback, void *user_data);
+
+/**
+ * @brief Request to set or unset web view as the currently focused one.
+ *
+ * @since_tizen 3.0
+ *
+ * @param[in] o View object to set focus.
+ * @param[in] focused EINA_TRUE to set focus on web view,
+ *            EINA_FALSE otherwise.
+ *
+ * @return @c EINA_TRUE on success, othetwise @c EINA_FALSE
+ */
+EXPORT_API Eina_Bool ewk_view_focus_set(const Evas_Object* o,
+                                        Eina_Bool focused);
+
+/**
+ * @brief Checks whether web view has the focus.
+ *
+ * @since_tizen 3.0
+ *
+ * @param[in] o View object to set focus.
+ *
+ * @return @c EINA_TRUE if web view has the focus, othetwise @c EINA_FALSE
+ */
+EXPORT_API Eina_Bool ewk_view_focus_get(const Evas_Object* o);
+
+
+#ifdef __cplusplus
+}
+#endif
+#endif // ewk_view_internal_h
diff --git a/tizen_src/ewk/efl_integration/public/ewk_view_product.h b/tizen_src/ewk/efl_integration/public/ewk_view_product.h
new file mode 100644 (file)
index 0000000..99a523b
--- /dev/null
@@ -0,0 +1,719 @@
+/*
+   Copyright (C) 2016 Samsung Electronics. All rights reserved.
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public License
+    along with this library; see the file COPYING.LIB.  If not, write to
+    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+    Boston, MA 02110-1301, USA.
+*/
+
+/**
+ * @file    ewk_view_product.h
+ * @brief   Chromium main smart object.
+ *
+ * This object provides view related APIs of Chromium to EFL object.
+ */
+
+#ifndef ewk_view_product_h
+#define ewk_view_product_h
+
+#include "ewk_context_product.h"
+#include "ewk_view_internal.h"
+
+#if defined(TIZEN_PEPPER_EXTENSIONS)
+#include "ewk_value_product.h"
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * A callback to check whether allowed to run mixed content or not
+ *
+ * @param ewkView view object
+ * @param user_data user_data will be passed when callback is called
+ * @return true: allow to run mixed content. false: not allow to run mixed content
+ */
+typedef Eina_Bool (*Ewk_View_Run_Mixed_Content_Confirm_Callback)(Evas_Object* ewkView, void* user_data);
+
+/**
+ * @brief Creates a new EFL Chromium view object.
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] e canvas object where to create the view object
+ * @param[in] data a pointer to data to restore session data
+ * @param[in] length length of session data to restore session data
+ *
+ * @return view object on success or @c NULL on failure
+ */
+EXPORT_API Evas_Object* ewk_view_add_with_session_data(Evas* e, const char* data, unsigned length);
+
+/**
+ * @brief Gets the reference object for frame that represents the main frame.
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] o view object to get main frame
+ *
+ * @return frame reference of frame object on success, or NULL on failure
+ */
+EXPORT_API Ewk_Frame_Ref ewk_view_main_frame_get(Evas_Object* o);
+
+/**
+ * @brief Reply of javascript alert popup
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] o view object
+ */
+EXPORT_API void ewk_view_javascript_alert_reply(Evas_Object* o);
+
+/**
+ * @brief Reply of javascript confirm popup
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] o view object
+ * @param[in] result result of javascript confirm popup
+ */
+EXPORT_API void ewk_view_javascript_confirm_reply(Evas_Object* o, Eina_Bool result);
+
+/**
+ * @brief Reply of javascript prompt popup
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] o view object
+ * @param[in] result entered characters of javascript prompt popup
+ */
+EXPORT_API void ewk_view_javascript_prompt_reply(Evas_Object* o, const char* result);
+
+/**
+ * @brief Sets callback of before unload popup
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] o view object to set the callback
+ * @param[in] callback callback function for before unload popoup
+ * @param[in] user_data user data
+ */
+EXPORT_API void ewk_view_before_unload_confirm_panel_callback_set(Evas_Object* o, Ewk_View_Before_Unload_Confirm_Panel_Callback callback, void* user_data);
+
+/**
+ * @brief Reply of before unload popup
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] o view object
+ * @param[in] result result of before unload popup
+ */
+EXPORT_API void ewk_view_before_unload_confirm_panel_reply(Evas_Object* o, Eina_Bool result);
+
+/**
+ * @brief Sets callback of getting application cache permission.
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] o view object to set the callback of application cache permission
+ * @param[in] callback function to be called when application cache need to
+ *            get permission
+ * @param[in] user_data user data
+ */
+EXPORT_API void ewk_view_application_cache_permission_callback_set(Evas_Object* o, Ewk_View_Applicacion_Cache_Permission_Callback callback, void* user_data);
+
+/**
+ * @brief Application cache permission confirm popup reply
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] o view object to reply permission confirm popup
+ * @param[in] allow of response
+ */
+EXPORT_API void ewk_view_application_cache_permission_reply(Evas_Object* o, Eina_Bool allow);
+
+/**
+ * @brief Set to callback to controll unfocus operation from the arrow of
+ *        h/w keyboard.
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] o view object
+ * @param[in] callback callback to controll unfocus operation from the arrow of
+ *            h/w keyboard
+ * @param[in] user_data user data
+ */
+EXPORT_API void ewk_view_unfocus_allow_callback_set(Evas_Object* o, Ewk_View_Unfocus_Allow_Callback callback, void* user_data);
+
+/**
+ * @brief Requests loading the given contents.
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] o view object to load document
+ * @param[in] html what to load
+ * @param[in] base_uri base uri to use for relative resources, may be @c 0,\n
+ *        if provided @b must be an absolute uri
+ *
+ * @return @c EINA_TRUE on successful request, @c EINA_FALSE on errors
+ */
+EXPORT_API Eina_Bool ewk_view_html_contents_set(Evas_Object* o, const char* html, const char* base_uri);
+
+/**
+ * @brief Returns the evas image object for the cache image specified in url.
+ *
+ * @details The returned evas image object @b should be freed after use.
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] o view object to get specified rectangle of cairo surface
+ * @param[in] image_url url of the image in the cache
+ * @param[in] canvas canvas for creating evas image
+ *
+ * @return newly allocated evas image object on sucess or @c 0 on failure
+ */
+EXPORT_API Evas_Object* ewk_view_cache_image_get(const Evas_Object* o, const char* image_url, Evas* canvas);
+
+/**
+ * @brief Requests for getting web application capable.
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] o view object
+ * @param[in] callback result callback to get web database quota
+ * @param[in] user_data user_data will be passed when result_callback is
+ *            called\n -I.e., user data will be kept until callback is called
+ *
+ * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_view_web_application_capable_get(Evas_Object* o, Ewk_Web_App_Capable_Get_Callback callback, void* user_data);
+
+/**
+ * @brief Requests for getting web application icon string.
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] o view object
+ * @param[in] callback result callback to get web database quota
+ * @param[in] user_data user_data will be passed when result_callback is
+ *            called\n -I.e., user data will be kept until callback is called
+ *
+ * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_view_web_application_icon_url_get(Evas_Object* o, Ewk_Web_App_Icon_URL_Get_Callback callback, void* user_data);
+
+/**
+ * @brief Requests for getting web application icon list of
+ *        Ewk_Web_App_Icon_Data.
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] o view object
+ * @param[in] callback result callback to get web application icon urls
+ * @param[in] user_data user_data will be passed when result_callback is
+ *            called\n -I.e., user data will be kept until callback is called
+ *
+ * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_view_web_application_icon_urls_get(Evas_Object* o, Ewk_Web_App_Icon_URLs_Get_Callback callback, void* user_data);
+
+/**
+ * @brief Get the whole history(whole back & forward list) associated with this
+ *        view.
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] o view object to get the history(whole back & forward list)
+ *
+ * @return a newly allocated history of @b newly allocated item\n
+ *         instance. This memory of each item must be released with\n
+ *         ewk_history_free() after use
+ *
+ * @see ewk_history_free()
+ */
+EXPORT_API Ewk_History* ewk_view_history_get(Evas_Object* o);
+
+/**
+ * @brief Gets the selection ranges
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] o view object to get theselection ranges
+ * @param[out] left_rect the start lect(left rect) of the selection ranges
+ * @param[out] right_rect the end lect(right rect) of the selection ranges
+ *
+ * @return @c EINA_TRUE on success, @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_view_text_selection_range_get(Evas_Object* o, Eina_Rectangle* left_rect, Eina_Rectangle* right_rect);
+
+/**
+ * @brief Sets the focused input element value
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] o view object to send the value
+ * @param[in] value the string value to be set
+ */
+EXPORT_API void ewk_view_focused_input_element_value_set(Evas_Object* o, const char* value);
+
+/**
+ * @brief Gets the focused input element's value
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] o view object to get the value
+ *
+ * @return focused input element's value on success or NULL on failure
+ */
+EXPORT_API const char* ewk_view_focused_input_element_value_get(Evas_Object* o);
+
+/**
+ * @brief Selects index of current popup menu.
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] o view object contains popup menu
+ * @param[in] index index of item to select
+ *
+ * @return @c EINA_TRUE on success, @c EINA_FALSE on failure (probably\n
+ *         popup menu is not selected or index is out of range)
+ */
+EXPORT_API Eina_Bool ewk_view_popup_menu_select(Evas_Object* o, unsigned int index);
+
+/**
+ * @brief Selects Multiple indexes  of current popup menu.
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] o view object contains popup menu.
+ * @param[in] changed_list  list of item selected and deselected
+ *
+ * @return @c EINA_TRUE on success, @c EINA_FALSE on failure (probably\n
+ *         popup menu is not selected or index is out of range)
+ */
+EXPORT_API Eina_Bool ewk_view_popup_menu_multiple_select(Evas_Object* o, Eina_Inarray* changed_list);
+
+/*
+ * @brief Sets the user chosen color. To be used when implementing a color
+ *        picker.
+ *
+ * @details The function should only be called when a color has been requested
+ *          by the document.\n If called when this is not the case or when the
+ *          input picker has been dismissed, this\n function will fail and
+ *          return EINA_FALSE.
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] o view object contains color picker
+ * @param[in] r red channel value to be set
+ * @param[in] g green channel value to be set
+ * @param[in] b blue channel value to be set
+ * @param[in] a alpha channel value to be set
+ *
+ * @return @c EINA_TRUE on success @c EINA_FALSE otherwise
+ */
+EXPORT_API Eina_Bool ewk_view_color_picker_color_set(Evas_Object* o, int r, int g, int b, int a);
+
+/**
+ * @brief Feeds the touch event to the view.
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] o view object to feed touch event
+ * @param[in] type the type of touch event
+ * @param[in] points a list of points (Ewk_Touch_Point) to process
+ * @param[in] modifiers an Evas_Modifier handle to the list of modifier keys\n
+ *        registered in the Evas. Users can get the Evas_Modifier from the
+ *        Evas\n using evas_key_modifier_get() and can set each modifier key
+ *        using\n evas_key_modifier_on() and evas_key_modifier_off()
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_view_feed_touch_event(Evas_Object* o, Ewk_Touch_Event_Type type, const Eina_List* points, const Evas_Modifier* modifiers);
+
+/**
+ * Creates a type name for the callback function used to get the background color.
+ *
+ * @param o view object
+ * @param r red color component
+ * @param g green color component
+ * @param b blue color component
+ * @param a transparency
+ * @param user_data user data will be passed when ewk_view_bg_color_get is called
+ */
+typedef void (*Ewk_View_Background_Color_Get_Callback)(Evas_Object *o, int r, int g, int b, int a, void* user_data);
+
+/**
+ * Gets the background color and transparency of the view.
+ *
+ * @param o view object to get the background color from
+ * @param callback callback function
+ * @param user_data user data will be passed when the callback is called
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ *
+ *  On success the background color of the view object o is retrieved
+ *  in the callback function
+ */
+EXPORT_API Eina_Bool ewk_view_bg_color_get(Evas_Object *o, Ewk_View_Background_Color_Get_Callback callback, void *user_data);
+
+/**
+ * @brief Sets the visibility of main frame scrollbar.
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] o view object
+ * @param[in] visible visibility of main frame scrollbar
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_view_main_frame_scrollbar_visible_set(Evas_Object* o, Eina_Bool visible);
+
+/**
+ * Callback for ewk_view_main_frame_scrollbar_visible_get
+ *
+ * @param o view object
+ * @param visibility visibility of main frame scrollbar
+ * @param user_data user data passed to ewk_view_main_frame_scrollbar_visible_get
+ */
+typedef void (*Ewk_View_Main_Frame_Scrollbar_Visible_Get_Callback)(Evas_Object* o, Eina_Bool visible, void* user_data);
+
+/**
+ * @brief Gets the visibility of main frame scrollbar.
+ *
+ * @since_tizen 3.0
+ *
+ * @param[in] o view object
+ * @param callback callback function
+ * @param user_data user data will be passed when the callback is caller
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ *
+ *  On success the visibility of the scrollbar of the view object o is retrieved
+ *  in the callback function
+ */
+EXPORT_API Eina_Bool ewk_view_main_frame_scrollbar_visible_get(Evas_Object* view, Ewk_View_Main_Frame_Scrollbar_Visible_Get_Callback callback, void* user_data);
+
+/**
+ * @brief Gets the session data to be saved in a persistent store on
+ *        browser exit
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] o view object whose session needs to be stored.
+ * @param[in] data out parameter session data
+ * @param[in] length out parameter length of session data
+ */
+EXPORT_API void ewk_view_session_data_get(Evas_Object* o, const char** data, unsigned* length);
+
+/**
+ * @brief Reloads the current page's document without cache.
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] o view object to reload current document
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
+ */
+EXPORT_API Eina_Bool ewk_view_reload_bypass_cache(Evas_Object* o);
+
+/**
+ * @brief Creates a new hit test for the given veiw object and point.
+ *
+ * @since_tizen 2.3
+ *
+ * @remarks The returned object should be freed by ewk_hit_test_free().
+ *
+ * @param[in] o view object to do hit test on
+ * @param[in] x the horizontal position to query
+ * @param[in] y the vertical position to query
+ * @param[in] hit_test_mode the #Ewk_Hit_Test_Mode enum value to query
+ *
+ * @return a newly allocated hit test on success, @c 0 otherwise
+ */
+EXPORT_API Ewk_Hit_Test* ewk_view_hit_test_new(Evas_Object* o, int x, int y, int hit_test_mode);
+
+/**
+ * Create PDF file of page contents
+ *
+ * @param o view object to get page contents.
+ * @param width the suface width of PDF file.
+ * @param height the suface height of PDF file.
+ * @param fileName the file name for creating PDF file.
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+/* This return value is status of the request not the status of actual operation.
+ * There should be some callback to get the actual status or reason of failure.
+ */
+EXPORT_API Eina_Bool ewk_view_contents_pdf_get(Evas_Object* o, int width, int height, const char* fileName);
+
+/**
+ * Requests for setting callback function
+ *
+ * @param ewkView view object
+ * @param user_data user_data will be passed when callback is called
+ * @param callback callback function
+ */
+EXPORT_API void ewk_view_run_mixed_content_confirm_callback_set(Evas_Object* ewkView, Ewk_View_Run_Mixed_Content_Confirm_Callback callback, void* user_data);
+
+/**
+ * Returns the current favicon of view object.
+ *
+ * @param item view object to get current icon URL
+ *
+ * @return current favicon on success or @c NULL if unavailable or on failure.
+ * The returned Evas_Object needs to be freed after use.
+ */
+EXPORT_API Evas_Object *ewk_view_favicon_get(const Evas_Object *item);
+
+/**
+ * To resume new url network loading
+ *
+ * @param item view object to resume new url loading
+ *
+ */
+EXPORT_API void ewk_view_resume_network_loading(Evas_Object* item);
+
+EXPORT_API void ewk_view_poweroff_suspend(Evas_Object *item);
+
+/**
+ * To suspend all url loading
+ *
+ * @param item view object to suspend url loading
+ *
+ */
+EXPORT_API void ewk_view_suspend_network_loading(Evas_Object* item);
+
+/**
+ * This function should be use for browser edge scroll.
+ * It can also be used when the mouse pointer is out of webview.
+ * Scrolls webpage of view by dx and dy.
+ *
+ * @param item view object to scroll
+ * @param dx horizontal offset to scroll
+ * @param dy vertical offset to scroll
+ * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise.
+ */
+EXPORT_API Eina_Bool ewk_view_edge_scroll_by(Evas_Object *item, int dx, int dy);
+
+/**
+ * Allow a browser to set its own cursor by setting a flag
+ * which prevents setting a default web page cursor.
+ *
+ * @param ewkView view object
+ * @param enable EINA_TRUE - prevent update of cursor by engine
+ *               EINA_FALSE - allow for update of cursor by engine
+ */
+EXPORT_API void ewk_view_set_cursor_by_client(Evas_Object* ewkView, Eina_Bool enable);
+
+/**
+ * Reply of running mixed content or not
+ *
+ * @param ewkView view object
+ * @param result reply
+ */
+EXPORT_API void ewk_view_run_mixed_content_confirm_reply(Evas_Object* ewkView, Eina_Bool result);
+
+/**
+ * Sets the cover-area (soon rect)  multiplier.
+ *
+ * @param ewkView view object
+ * @param coverAreaMultiplier the multiplier of cover-area.
+ */
+EXPORT_API void ewk_view_tile_cover_area_multiplier_set(
+    Evas_Object* ewkView,
+    float cover_area_multiplier);
+
+/**
+ * Set to enabled/disabled clear tiles on hide.
+ *
+ * @param ewkView view object
+ * @param enabled/disabled a state to set
+ *
+ */
+EXPORT_API void ewk_view_clear_tiles_on_hide_enabled_set(Evas_Object* ewkView,
+                                                         Eina_Bool enable);
+
+/**
+ * @brief Callback for ewk_view_is_video_playing
+ *
+ * @param[in] o the view object
+ * @param[in] is_playing video is playing or not
+ * @param[in] user_data user_data will be passsed when ewk_view_is_video_playing is
+ *                      called
+ */
+typedef void (*Ewk_Is_Video_Playing_Callback)(Evas_Object* o, Eina_Bool is_playing, void* user_data);
+
+/**
+ * @brief Asynchronous request for check if there is a video playing in the given view
+ *
+ * @param[in] o The view object
+ * @param[in] callback result callback to get web application capable
+ * @param[in] user_data user_data will be passed when result_callback is called
+ *
+ * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_view_is_video_playing(Evas_Object* o, Ewk_Is_Video_Playing_Callback callback, void* user_data);
+
+/**
+ * Callback for ewk_view_stop_video
+ *
+ * @param o view object
+ * @param is_stopped video is stopped or not
+ * @param user_data user_data will be passsed when ewk_view_stop_video is called
+ */
+typedef void (*Ewk_Stop_Video_Callback)(Evas_Object* o, Eina_Bool is_stopped, void* user_data);
+
+/**
+ * Asynchronous request for stopping any playing video in the given view
+ *
+ * @param[in] o The view object
+ * @param[in] callback result callback to get web application capable
+ * @param[in] user_data user_data will be passed when result_callback is called
+ *
+ * @return @c EINA_TRUE if any video was stopped or @c EINA_FALSE is there was no active video
+ */
+EXPORT_API Eina_Bool ewk_view_stop_video(Evas_Object* o, Ewk_Stop_Video_Callback callback, void* user_data);
+
+/**
+ * @brief Sets the support of video hole and video window, Use H/W overlay for performance of video output
+ *
+ * @since_tizen 3.0
+ *
+ * @param[in] o the view object
+ * @param[in] o the top-level window object
+ * @param[in] enable EINA_TRUE to set on support the video hole,
+ *            EINA_FALSE otherwise
+ * @param[in] enable EINA_TRUE to set on the video window of video hole,
+ *            EINA_FALSE to set on the video windowless of video hole
+ *
+ * @return return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EXPORT_API Eina_Bool ewk_view_set_support_video_hole(Evas_Object* ewkView, Evas_Object* window, Eina_Bool enable, Eina_Bool isVideoWindow);
+
+#if defined(TIZEN_PEPPER_EXTENSIONS)
+
+/**
+ * Callback for the generic sync call.
+ * It requests for performing operation/call giving its name. Arguments
+ * and return value is operation/call specific.
+ *
+ * @param[in] name requested call name
+ * @param[in] arguments call argumets, format is defined by opertion itself
+ * @param[in] user_data user_data will be passed when result_callback is called
+ *
+ * @return return value from the call, format is defind by operation itself
+ */
+typedef Ewk_Value (*Generic_Sync_Call_Callback)(const char* name, Ewk_Value arguments, void* user_data);
+
+/**
+ * Sets the function pointer for the generic sync call
+ *
+ * @param ewk_view view object to set the function pointer in
+ * @param cb pointer to the function
+ * @param user_data pointer to user data to be passed to the function when
+ *        it's being called
+ */
+EXPORT_API void ewk_view_widget_pepper_extension_callback_set(Evas_Object* ewk_view, Generic_Sync_Call_Callback cb, void* user_data);
+
+/**
+* Sets the pepper widget extension info
+*
+* @param ewk_view view object to set the info in
+* @param widget_pepper_ext_info the Ewk_Value containing the information
+*/
+EXPORT_API void ewk_view_widget_pepper_extension_info_set(Evas_Object* ewk_view, Ewk_Value widget_pepper_ext_info);
+
+#endif  // defined(TIZEN_PEPPER_EXTENSIONS)
+
+/**
+ * @brief Sends key event.
+ *
+ * @since_tizen 2.4
+ *
+ * @param[in] o The view object
+ * @param[in] key_event Evas_Event_Key_Down struct or Evas_Event_Key_Up struct
+ * @param[in] isPress EINA_TRUE: keydown, EINA_FALSE: keyup
+ * @return @c EINA_TRUE on success,\n
+ *         otherwise @c EINA_FALSE
+ */
+EXPORT_API Eina_Bool ewk_view_send_key_event(Evas_Object* o, void* key_event, Eina_Bool is_press);
+
+/**
+ * @brief Sets whether the ewk_view supports the key events or not.
+ *
+ * @since_tizen 2.4
+ *
+ * @note Should be used after ewk_view_url_set().
+ *
+ * @remarks The ewk_view will support the key events if EINA_TRUE or not support the
+ *          key events otherwise. The default value is EINA_TRUE.
+ *
+ * @param[in] o The view object
+ * @param[in] enabled a state to set
+ *
+ * @return @c EINA_TRUE on success,\n
+ *         otherwise @c EINA_FALSE
+ */
+EXPORT_API Eina_Bool ewk_view_key_events_enabled_set(Evas_Object *o, Eina_Bool enabled);
+
+/**
+ * @brief Adds an item to back forward list
+ *
+ * @since_tizen 2.4
+ *
+ * @param[in] o The view object
+ * @param[in] item The back-forward list item instance
+ * @return @c EINA_TRUE on success,\n
+ *         otherwise @c EINA_FALSE
+ */
+EXPORT_API Eina_Bool
+ewk_view_add_item_to_back_forward_list(Evas_Object* o,
+                                       const Ewk_Back_Forward_List_Item* item);
+
+/**
+ * @brief To give a chance to intercept request data before sending it.
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] o view object to intercept request
+ * @param[in] intercept_request Defined structure to notify requesting infomation
+ * @param[in] user_data user data
+ *
+ * @see ewk_view_intercept_request_callback_set()
+ */
+typedef void (*Ewk_View_Intercept_Request_Callback)(Evas_Object* o, Ewk_Intercept_Request* intercept_request, void* user_data);
+
+/**
+ * @brief  To set Ewk_View_Intercept_Request_Callback to give a chance to intercept request data before sending it.
+ *
+ * @since_tizen 2.3
+ *
+ * @param[in] o view object to intercept request
+ * @param[in] callback Defined callback
+ * @param[in] user_data user data
+ *
+ * @see Ewk_View_Intercept_Request_Callback
+ */
+EXPORT_API void ewk_view_intercept_request_callback_set (Evas_Object* o, Ewk_View_Intercept_Request_Callback callback, void* user_data);
+
+/**
+* @}
+*/
+
+#ifdef __cplusplus
+}
+#endif
+#endif // ewk_view_product_h
index 6a87e6a..2e2c34d 100644 (file)
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "ewk_web_application_icon_data.h"
+#include "ewk_web_application_icon_data_internal.h"
 
 #include "private/ewk_web_application_icon_data_private.h"
 
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef ewk_web_application_icon_data_h
-#define ewk_web_application_icon_data_h
+#ifndef ewk_web_application_icon_data_internal_h
+#define ewk_web_application_icon_data_internal_h
 
 #include <Eina.h>
 #include <tizen.h>
@@ -37,4 +37,4 @@ EXPORT_API const char *ewk_web_application_icon_data_url_get(Ewk_Web_App_Icon_Da
 #ifdef __cplusplus
 }
 #endif
-#endif // ewk_web_application_icon_data_h
+#endif // ewk_web_application_icon_data_internal_h
index 657fed3..d246887 100644 (file)
@@ -3,7 +3,7 @@
 // found in the LICENSE file.
 
 
-#include "ewk_window_features.h"
+#include "ewk_window_features_internal.h"
 
 #include "eweb_view.h"
 #include "private/ewk_window_features_private.h"
  */
 
 /**
- * @file    ewk_window_features.h
+ * @file    ewk_window_features_internal.h
  * @brief   Access to the features of window.
  */
 
-#ifndef ewk_window_features_h
-#define ewk_window_features_h
+#ifndef ewk_window_features_internal_h
+#define ewk_window_features_internal_h
 
 
 #include <Eina.h>
@@ -131,4 +131,4 @@ EXPORT_API void ewk_window_features_geometry_get(const Ewk_Window_Features *wind
 }
 #endif
 
-#endif // ewk_window_features_h
+#endif // ewk_window_features_internal_h
index ebbfd2b..70cdff5 100644 (file)
@@ -11,8 +11,8 @@
 #include "common/web_preferences_efl.h"
 #include "content/public/renderer/render_view_observer.h"
 #include "private/ewk_hit_test_private.h"
-#include "public/ewk_hit_test.h"
-#include "public/ewk_view.h"
+#include "public/ewk_hit_test_internal.h"
+#include "public/ewk_view_internal.h"
 #include "renderer/content_renderer_client_efl.h"
 #include "renderer/print_web_view_helper_efl.h"
 #include "third_party/blink/public/platform/web_size.h"
index d744205..f4496f1 100644 (file)
@@ -15,7 +15,7 @@
 #include "net/url_request/url_request_context_getter.h"
 #include "net/url_request/url_request_context_storage.h"
 #include "net/url_request/url_request_job_factory_impl.h"
-#include "public/ewk_cookie_manager.h"
+#include "public/ewk_cookie_manager_internal.h"
 
 namespace net {
 class HostResolver;
index 1aa643e..4dbad86 100644 (file)
@@ -19,7 +19,7 @@
 #include "content/browser/web_contents/web_contents_impl.h"
 #include "url/gurl.h"
 #include "browser/favicon/favicon_downloader.h"
-#include "public/ewk_view.h"
+#include "public/ewk_view_internal.h"
 #include "ui/base/ime/text_input_type.h"
 
 class DidPrintPagesParams;
index c9c9ce9..381e188 100644 (file)
@@ -4,22 +4,6 @@
 
 #define _DEFAULT_SOURCE
 
-#include "public/ewk_auth_challenge.h"
-#include "public/ewk_context.h"
-#include "public/ewk_main.h"
-#include "public/ewk_view.h"
-#include "public/ewk_geolocation.h"
-#include "public/ewk_security_origin.h"
-#include "public/ewk_error.h"
-#include "public/ewk_notification.h"
-#include "public/ewk_policy_decision.h"
-#include "public/ewk_context_menu.h"
-#include "public/ewk_text_style.h"
-#include "public/ewk_cookie_manager.h"
-#include "public/ewk_console_message.h"
-#include "public/ewk_user_media.h"
-#include "tizen/system_info.h"
-
 #include <Ecore.h>
 #include <Ecore_Evas.h>
 #include <Ecore_File.h>
 #include <stdlib.h>
 #include <string.h>
 
+#include "public/EWebKit.h"
+#include "public/EWebKit_internal.h"
+#include "public/EWebKit_product.h"
+#include "tizen/system_info.h"
+
 static Ecore_Evas* ee;
 static Evas* e;
 static Evas_Object* view;
@@ -123,7 +112,6 @@ static void __frame_rendered_cb(void* data, Evas_Object* obj, void* event_info);
 static void __ewk_view_plain_text_get_cb(Evas_Object* o, const char* content_text, void* user_data);
 static void __ewk_view_plain_text_get_cb_1(Evas_Object* o, const char* content_text, void* user_data);
 static void __load_started_cb(void *data, Evas_Object *obj, void *event_info);
-static void __text_style_state_changed_cb(void *data, Evas_Object *obj, void *event_info);
 static void __ewk_cookie_manager_async_policy_get_cb(
     Ewk_Cookie_Accept_Policy policy, void *event_info);
 static void __ewk_cookie_manager_async_hostnames_get_cb(Eina_List *hostnames, Ewk_Error *error, void *event_info);
@@ -566,7 +554,6 @@ int main(int argc, char** argv)
   evas_object_smart_callback_add(view, "edge,right", __edge_right_cb, 0);
   evas_object_smart_callback_add(view, "edge,top", __edge_top_cb, 0);
   evas_object_smart_callback_add(view, "edge,bottom", __edge_bottom_cb, 0);
-  evas_object_smart_callback_add(view, "text,style,state", __text_style_state_changed_cb, 0);
   evas_object_smart_callback_add(view, "back,forward,list,changed", __back_forward_list_changed_cb, 0);
   evas_object_smart_callback_add(view, "webprocess,crashed", __webprocess_crashed_cb, 0);
   evas_object_smart_callback_add(view, "undo,size", __undo_size_cb, 0);
@@ -1385,31 +1372,6 @@ void __vibration_off_cb(void *data)
 }
 #endif
 
-void __text_style_state_changed_cb(void *data, Evas_Object *obj, void *event_info)
-{
-  Evas_Point start_point, end_point;
-  int r, g, b, a;
-  Ewk_Text_Style *style = (Ewk_Text_Style*)event_info;
-  printf ("APP.C __text_style_state_changed_cb called \n");
-  printf ("APP.c ewk_text_style_underline_get = %d \n",ewk_text_style_underline_get(style));
-  printf ("APP.c ewk_text_style_italic_get = %d \n",ewk_text_style_italic_get(style));
-  printf ("APP.c ewk_text_style_bold_get = %d \n",ewk_text_style_bold_get(style));
-  printf ("APP.c ewk_text_style_ordered_list_get = %d \n",ewk_text_style_ordered_list_get(style));
-  printf ("APP.c ewk_text_style_unordered_list_get = %d \n",ewk_text_style_unordered_list_get(style));
-
-  ewk_text_style_position_get(style, &start_point, &end_point);
-  printf ("APP.c ewk_text_style_position_get start x = %d, y = %d, end x = %d, y = %d\n",
-      start_point.x, start_point.y, end_point.x, end_point.y);
-
-  ewk_text_style_bg_color_get(style, &r, &g, &b, &a);
-  printf ("APP.c ewk_text_style_bg_color_get r = %d, g =%d, b = %d, a = %d\n", r, g ,b ,a);
-  printf ("APP.c ewk_text_style_has_composition_get = %d \n",ewk_text_style_has_composition_get(style));
-  printf ("APP.c ewk_text_style_align_center_get = %d \n",ewk_text_style_align_center_get(style));
-  printf ("APP.c ewk_text_style_align_left_get = %d \n",ewk_text_style_align_left_get(style));
-  printf ("APP.c ewk_text_style_align_right_get = %d \n",ewk_text_style_align_right_get(style));
-  printf ("APP.c ewk_text_style_align_full_get = %d \n",ewk_text_style_align_full_get(style));
-}
-
 void __hit_test_request_cb(Evas_Object* o, int x, int y, int hit_test_mode, Ewk_Hit_Test* ht, void* user_data)
 {
   printf("HitTest: context %d\n", ewk_hit_test_result_context_get(ht));
index 5f68429..ccda479 100644 (file)
 #include <device/haptic.h>
 #endif
 
-#include "public/ewk_context.h"
-#include "public/ewk_context_menu.h"
-#include "public/ewk_error.h"
-#include "public/ewk_geolocation.h"
-#include "public/ewk_main.h"
-#include "public/ewk_policy_decision.h"
-#include "public/ewk_tracing.h"
-#include "public/ewk_user_media.h"
-#include "public/ewk_view.h"
 #include "browser-string.h"
 #include "browser-object.h"
+#include "public/EWebKit.h"
+#include "public/EWebKit_internal.h"
 
 #include "tizen/system_info.h"
 
@@ -1521,7 +1514,7 @@ void show_context_menu_text_only(app_data *data, Ewk_Context_Menu *menu)
   }
 
   /*
-  // Share 
+  // Share
   if (text_selected == EINA_TRUE)
     ewk_context_menu_item_append(menu, CUSTOM_CONTEXT_MENU_ITEM_SHARE, BR_STRING_SHARE, browser_img_dir"/I01_ctx_popup_icon_share.png", true);
 
index 3dcda61..1fdc4ca 100644 (file)
@@ -8,8 +8,9 @@
 #include "tizen/system_info.h"
 
 #include <assert.h>
-#include <ewk_context.h>
-#include <ewk_tracing.h>
+#include <EWebKit.h>
+#include <EWebKit_internal.h>
+#include <EWebKit_product.h>
 
 static std::string kHomePage = "http://www.google.com";
 static int kDefaultMobileWindowWidth = 360;
index 7b9c973..03f3053 100644 (file)
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include <EWebKit_internal.h>
 #include <ewk_chromium.h>
-#include <ewk_main.h>
 #include <Elementary.h>
 #include <getopt.h>
 #include <unistd.h>
index 375d242..dae75af 100644 (file)
@@ -5,10 +5,9 @@
 #include "window.h"
 
 #include <assert.h>
-#include <ewk_view.h>
-#include <ewk_console_message.h>
-#include <ewk_policy_decision.h>
-#include <ewk_user_media.h>
+#include <EWebKit.h>
+#include <EWebKit_internal.h>
+#include <EWebKit_product.h>
 #include <Elementary.h>
 
 #include "browser.h"
index 2d489f7..839902a 100644 (file)
@@ -7,8 +7,8 @@
 
 #include <string>
 #include <Ecore_Evas.h>
-#include <ewk_settings.h>
-#include <ewk_quota_permission_request.h>
+#include <ewk_settings_internal.h>
+#include <ewk_quota_permission_request_internal.h>
 
 class Browser;
 class WindowUI;
index 1d2b107..147c27a 100644 (file)
@@ -6,8 +6,9 @@
 
 #include <assert.h>
 #include <Elementary.h>
-#include <ewk_context.h>
-#include <ewk_settings.h>
+#include <EWebKit.h>
+#include <EWebKit_internal.h>
+#include <EWebKit_product.h>
 
 #ifdef OS_TIZEN
 #include <efl_extension.h>