From: sihoons.yang Date: Wed, 1 Feb 2017 11:59:21 +0000 (+0900) Subject: [M67 Dev][EWK] Classify EWK APIs by public, internal, or product X-Git-Tag: submit/tizen/20201118.160233~244 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F55%2F187855%2F2;p=platform%2Fframework%2Fweb%2Fchromium-efl.git [M67 Dev][EWK] Classify EWK APIs by public, internal, or product 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 Signed-off-by: Youngsoo Choi --- diff --git a/third_party/icu/common/icudtl.dat b/third_party/icu/common/icudtl.dat index 6dc0a9c..a009f523 100644 Binary files a/third_party/icu/common/icudtl.dat and b/third_party/icu/common/icudtl.dat differ diff --git a/tizen_src/ewk/efl_integration/browser/javascript_dialog_manager_efl.h b/tizen_src/ewk/efl_integration/browser/javascript_dialog_manager_efl.h index aac9f55..547d590 100644 --- a/tizen_src/ewk/efl_integration/browser/javascript_dialog_manager_efl.h +++ b/tizen_src/ewk/efl_integration/browser/javascript_dialog_manager_efl.h @@ -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 { diff --git a/tizen_src/ewk/efl_integration/browser/notification/notification_controller_efl.cc b/tizen_src/ewk/efl_integration/browser/notification/notification_controller_efl.cc index fac7142..eb8ff89 100644 --- a/tizen_src/ewk/efl_integration/browser/notification/notification_controller_efl.cc +++ b/tizen_src/ewk/efl_integration/browser/notification/notification_controller_efl.cc @@ -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; diff --git a/tizen_src/ewk/efl_integration/browser/notification/notification_controller_efl.h b/tizen_src/ewk/efl_integration/browser/notification/notification_controller_efl.h index 5367265..65d7930c 100644 --- a/tizen_src/ewk/efl_integration/browser/notification/notification_controller_efl.h +++ b/tizen_src/ewk/efl_integration/browser/notification/notification_controller_efl.h @@ -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" diff --git a/tizen_src/ewk/efl_integration/browser/vibration/vibration_provider_client.h b/tizen_src/ewk/efl_integration/browser/vibration/vibration_provider_client.h index 222b61f..ce59a07 100644 --- a/tizen_src/ewk/efl_integration/browser/vibration/vibration_provider_client.h +++ b/tizen_src/ewk/efl_integration/browser/vibration/vibration_provider_client.h @@ -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: diff --git a/tizen_src/ewk/efl_integration/browser/web_cache_efl/web_cache_manager_efl.h b/tizen_src/ewk/efl_integration/browser/web_cache_efl/web_cache_manager_efl.h index e11dd8e..9f66c4f 100644 --- a/tizen_src/ewk/efl_integration/browser/web_cache_efl/web_cache_manager_efl.h +++ b/tizen_src/ewk/efl_integration/browser/web_cache_efl/web_cache_manager_efl.h @@ -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 { diff --git a/tizen_src/ewk/efl_integration/common/render_messages_ewk.h b/tizen_src/ewk/efl_integration/common/render_messages_ewk.h index 6fe5a26..1a2d202 100644 --- a/tizen_src/ewk/efl_integration/common/render_messages_ewk.h +++ b/tizen_src/ewk/efl_integration/common/render_messages_ewk.h @@ -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" diff --git a/tizen_src/ewk/efl_integration/context_menu_controller_efl.h b/tizen_src/ewk/efl_integration/context_menu_controller_efl.h index c7af0c5..67e735e 100644 --- a/tizen_src/ewk/efl_integration/context_menu_controller_efl.h +++ b/tizen_src/ewk/efl_integration/context_menu_controller_efl.h @@ -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; diff --git a/tizen_src/ewk/efl_integration/eweb_context.h b/tizen_src/ewk/efl_integration/eweb_context.h index e02e19f..b95da5e 100644 --- a/tizen_src/ewk/efl_integration/eweb_context.h +++ b/tizen_src/ewk/efl_integration/eweb_context.h @@ -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; diff --git a/tizen_src/ewk/efl_integration/eweb_view.cc b/tizen_src/ewk/efl_integration/eweb_view.cc index 05a69ad..312fb98 100644 --- a/tizen_src/ewk/efl_integration/eweb_view.cc +++ b/tizen_src/ewk/efl_integration/eweb_view.cc @@ -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" diff --git a/tizen_src/ewk/efl_integration/eweb_view.h b/tizen_src/ewk/efl_integration/eweb_view.h index 9096892..138a966 100644 --- a/tizen_src/ewk/efl_integration/eweb_view.h +++ b/tizen_src/ewk/efl_integration/eweb_view.h @@ -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" diff --git a/tizen_src/ewk/efl_integration/geolocation_permission_popup.h b/tizen_src/ewk/efl_integration/geolocation_permission_popup.h index 32187b8..e3443af 100644 --- a/tizen_src/ewk/efl_integration/geolocation_permission_popup.h +++ b/tizen_src/ewk/efl_integration/geolocation_permission_popup.h @@ -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 diff --git a/tizen_src/ewk/efl_integration/notification_permission_popup.h b/tizen_src/ewk/efl_integration/notification_permission_popup.h index cb95b5d..6f96a6d 100644 --- a/tizen_src/ewk/efl_integration/notification_permission_popup.h +++ b/tizen_src/ewk/efl_integration/notification_permission_popup.h @@ -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 diff --git a/tizen_src/ewk/efl_integration/private/ewk_context_private.h b/tizen_src/ewk/efl_integration/private/ewk_context_private.h index 7f8651f..3fa83cd 100644 --- a/tizen_src/ewk/efl_integration/private/ewk_context_private.h +++ b/tizen_src/ewk/efl_integration/private/ewk_context_private.h @@ -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; diff --git a/tizen_src/ewk/efl_integration/private/ewk_custom_handlers_private.h b/tizen_src/ewk/efl_integration/private/ewk_custom_handlers_private.h index e42ed3d..c329d17 100644 --- a/tizen_src/ewk/efl_integration/private/ewk_custom_handlers_private.h +++ b/tizen_src/ewk/efl_integration/private/ewk_custom_handlers_private.h @@ -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: diff --git a/tizen_src/ewk/efl_integration/private/ewk_hit_test_private.h b/tizen_src/ewk/efl_integration/private/ewk_hit_test_private.h index b1d34d9..b82fae5 100644 --- a/tizen_src/ewk/efl_integration/private/ewk_hit_test_private.h +++ b/tizen_src/ewk/efl_integration/private/ewk_hit_test_private.h @@ -11,7 +11,7 @@ #include #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 NodeAttributesMap; diff --git a/tizen_src/ewk/efl_integration/private/ewk_settings_private.h b/tizen_src/ewk/efl_integration/private/ewk_settings_private.h index 576106b..d11756b 100644 --- a/tizen_src/ewk/efl_integration/private/ewk_settings_private.h +++ b/tizen_src/ewk/efl_integration/private/ewk_settings_private.h @@ -10,7 +10,7 @@ #include #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 index 0000000..7d1b90c --- /dev/null +++ b/tizen_src/ewk/efl_integration/public/EWebKit.h @@ -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 + * + * @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: + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Signals Type Description
close,window void Window is closed
contextmenu,customize Ewk_Context_Menu* Requested context menu items can be customized by app side
contextmenu,selected Ewk_Context_Menu_Item* A context menu item is selected
create,window Evas_Object** A new window is created
fullscreen,enterfullscreen bool* Reports to enter fullscreen
fullscreen,exitfullscreen void Reports to exit fullscreen
load,committed void Reports load committed
load,error Ewk_Error* Reports load error
load,finished void Reports load finished
load,progress double* Load progress has changed
load,started void Reports load started
geolocation,permission,request Ewk_Geolocation_Permission_Request* Requests geolocation permission
policy,navigation,decide Ewk_Policy_Decision* A navigation policy decision should be taken
policy,newwindow,decide Ewk_Policy_Decision* A new window policy decision should be taken
policy,response,decide Ewk_Policy_Decision* A response policy decision should be taken
text,found unsigned* The requested text was found and it gives the number of matches + *
title,changed const char* Title of the main frame was changed
url,changed const char* Url of the main frame was changed
did,not,allow,script void Javascript did not allowed
+ */ + +#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 index 0000000..f69ebbd --- /dev/null +++ b/tizen_src/ewk/efl_integration/public/EWebKit_internal.h @@ -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 index 0000000..5d1b5b8 --- /dev/null +++ b/tizen_src/ewk/efl_integration/public/EWebKit_product.h @@ -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 + * + * @section WEBVIEW_OVERVIEW Overview + * Product specific API + * + * @section WEBVIEW_SMART_OBJECT Smart object + * The following signals (see evas_object_smart_callback_add()) are emitted: + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Signals Type Description
link,hover,over char* Mouse cursor hovers over a link
link,hover,out char* Mouse cursor is moved away from a link
+ */ + +#endif // EWebKit_product_h diff --git a/tizen_src/ewk/efl_integration/public/ewk_application_cache_manager.cc b/tizen_src/ewk/efl_integration/public/ewk_application_cache_manager.cc old mode 100755 new mode 100644 index f9b27c5..e67d396 --- a/tizen_src/ewk/efl_integration/public/ewk_application_cache_manager.cc +++ b/tizen_src/ewk/efl_integration/public/ewk_application_cache_manager.cc @@ -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) diff --git a/tizen_src/ewk/efl_integration/public/ewk_application_cache_manager.h b/tizen_src/ewk/efl_integration/public/ewk_application_cache_manager_internal.h similarity index 78% rename from tizen_src/ewk/efl_integration/public/ewk_application_cache_manager.h rename to tizen_src/ewk/efl_integration/public/ewk_application_cache_manager_internal.h index 5c92511..041c0ff 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_application_cache_manager.h +++ b/tizen_src/ewk/efl_integration/public/ewk_application_cache_manager_internal.h @@ -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 #include @@ -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 diff --git a/tizen_src/ewk/efl_integration/public/ewk_auth_challenge.cc b/tizen_src/ewk/efl_integration/public/ewk_auth_challenge.cc index a5dc036..4f5fb98 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_auth_challenge.cc +++ b/tizen_src/ewk/efl_integration/public/ewk_auth_challenge.cc @@ -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" diff --git a/tizen_src/ewk/efl_integration/public/ewk_auth_challenge.h b/tizen_src/ewk/efl_integration/public/ewk_auth_challenge_internal.h similarity index 52% rename from tizen_src/ewk/efl_integration/public/ewk_auth_challenge.h rename to tizen_src/ewk/efl_integration/public/ewk_auth_challenge_internal.h index 8443e9c..4f478aa 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_auth_challenge.h +++ b/tizen_src/ewk/efl_integration/public/ewk_auth_challenge_internal.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 #include @@ -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 diff --git a/tizen_src/ewk/efl_integration/public/ewk_auth_request.cc b/tizen_src/ewk/efl_integration/public/ewk_auth_request.cc index 9e239ff..0d59279 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_auth_request.cc +++ b/tizen_src/ewk/efl_integration/public/ewk_auth_request.cc @@ -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" diff --git a/tizen_src/ewk/efl_integration/public/ewk_auth_request.h b/tizen_src/ewk/efl_integration/public/ewk_auth_request_internal.h similarity index 90% rename from tizen_src/ewk/efl_integration/public/ewk_auth_request.h rename to tizen_src/ewk/efl_integration/public/ewk_auth_request_internal.h index 239fe97..a8a0a9b 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_auth_request.h +++ b/tizen_src/ewk/efl_integration/public/ewk_auth_request_internal.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 #include @@ -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 diff --git a/tizen_src/ewk/efl_integration/public/ewk_autofill_profile.h b/tizen_src/ewk/efl_integration/public/ewk_autofill_profile.h index 78f80f6..194d1e7 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_autofill_profile.h +++ b/tizen_src/ewk/efl_integration/public/ewk_autofill_profile.h @@ -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 @@ -17,94 +32,152 @@ 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 } diff --git a/tizen_src/ewk/efl_integration/public/ewk_back_forward_list.h b/tizen_src/ewk/efl_integration/public/ewk_back_forward_list.h index 4104cf2..2dd7686 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_back_forward_list.h +++ b/tizen_src/ewk/efl_integration/public/ewk_back_forward_list.h @@ -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 @@ -26,12 +26,14 @@ /** * @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 +#include #include "ewk_back_forward_list_item.h" #include @@ -39,120 +41,128 @@ 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 - diff --git a/tizen_src/ewk/efl_integration/public/ewk_back_forward_list_item.h b/tizen_src/ewk/efl_integration/public/ewk_back_forward_list_item.h index db4b13c..917fea5 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_back_forward_list_item.h +++ b/tizen_src/ewk/efl_integration/public/ewk_back_forward_list_item.h @@ -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_Item* item); /** - * 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 diff --git a/tizen_src/ewk/efl_integration/public/ewk_certificate.cc b/tizen_src/ewk/efl_integration/public/ewk_certificate.cc index 387c473..00c1aa0 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_certificate.cc +++ b/tizen_src/ewk/efl_integration/public/ewk_certificate.cc @@ -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 diff --git a/tizen_src/ewk/efl_integration/public/ewk_certificate.h b/tizen_src/ewk/efl_integration/public/ewk_certificate_internal.h similarity index 100% rename from tizen_src/ewk/efl_integration/public/ewk_certificate.h rename to tizen_src/ewk/efl_integration/public/ewk_certificate_internal.h diff --git a/tizen_src/ewk/efl_integration/public/ewk_chromium.h b/tizen_src/ewk/efl_integration/public/ewk_chromium.h index 1715761..a4ac073 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_chromium.h +++ b/tizen_src/ewk/efl_integration/public/ewk_chromium.h @@ -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 -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#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 diff --git a/tizen_src/ewk/efl_integration/public/ewk_console_message.cc b/tizen_src/ewk/efl_integration/public/ewk_console_message.cc index ac0cc81..b799838 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_console_message.cc +++ b/tizen_src/ewk/efl_integration/public/ewk_console_message.cc @@ -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" diff --git a/tizen_src/ewk/efl_integration/public/ewk_console_message.h b/tizen_src/ewk/efl_integration/public/ewk_console_message_internal.h similarity index 92% rename from tizen_src/ewk/efl_integration/public/ewk_console_message.h rename to tizen_src/ewk/efl_integration/public/ewk_console_message_internal.h index d1c6dab..2e274d4 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_console_message.h +++ b/tizen_src/ewk/efl_integration/public/ewk_console_message_internal.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 #include @@ -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 diff --git a/tizen_src/ewk/efl_integration/public/ewk_content_screening_detection.cc b/tizen_src/ewk/efl_integration/public/ewk_content_screening_detection.cc index 6395539..5a5727b 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_content_screening_detection.cc +++ b/tizen_src/ewk/efl_integration/public/ewk_content_screening_detection.cc @@ -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) diff --git a/tizen_src/ewk/efl_integration/public/ewk_content_screening_detection.h b/tizen_src/ewk/efl_integration/public/ewk_content_screening_detection_internal.h similarity index 90% rename from tizen_src/ewk/efl_integration/public/ewk_content_screening_detection.h rename to tizen_src/ewk/efl_integration/public/ewk_content_screening_detection_internal.h index e1afe90..ba3b28a 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_content_screening_detection.h +++ b/tizen_src/ewk/efl_integration/public/ewk_content_screening_detection_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_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 #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 diff --git a/tizen_src/ewk/efl_integration/public/ewk_context.h b/tizen_src/ewk/efl_integration/public/ewk_context.h index 8cd01f5..8422922a 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_context.h +++ b/tizen_src/ewk/efl_integration/public/ewk_context.h @@ -1,966 +1,399 @@ -// 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 - -#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 +#include +#include +#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 index 0000000..1965dd1 --- /dev/null +++ b/tizen_src/ewk/efl_integration/public/ewk_context_internal.h @@ -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 diff --git a/tizen_src/ewk/efl_integration/public/ewk_context_menu.h b/tizen_src/ewk/efl_integration/public/ewk_context_menu.h index 52f2b4b..7558e0e 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_context_menu.h +++ b/tizen_src/ewk/efl_integration/public/ewk_context_menu.h @@ -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 index 0000000..b5ff0d4 --- /dev/null +++ b/tizen_src/ewk/efl_integration/public/ewk_context_menu_internal.h @@ -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 index 0000000..79c457d --- /dev/null +++ b/tizen_src/ewk/efl_integration/public/ewk_context_menu_product.h @@ -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 index 0000000..2b36616 --- /dev/null +++ b/tizen_src/ewk/efl_integration/public/ewk_context_product.h @@ -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 + +#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 diff --git a/tizen_src/ewk/efl_integration/public/ewk_cookie_manager.cc b/tizen_src/ewk/efl_integration/public/ewk_cookie_manager.cc index 532f1bf..f1006fc 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_cookie_manager.cc +++ b/tizen_src/ewk/efl_integration/public/ewk_cookie_manager.cc @@ -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, ...) \ diff --git a/tizen_src/ewk/efl_integration/public/ewk_cookie_manager.h b/tizen_src/ewk/efl_integration/public/ewk_cookie_manager.h index 398b5a9..3c6f9ac 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_cookie_manager.h +++ b/tizen_src/ewk/efl_integration/public/ewk_cookie_manager.h @@ -1,150 +1,145 @@ /* - * 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 +#include #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 index 0000000..ed99d03 --- /dev/null +++ b/tizen_src/ewk/efl_integration/public/ewk_cookie_manager_internal.h @@ -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 diff --git a/tizen_src/ewk/efl_integration/public/ewk_custom_handlers.cc b/tizen_src/ewk/efl_integration/public/ewk_custom_handlers.cc index fb9cc7d..94d439b 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_custom_handlers.cc +++ b/tizen_src/ewk/efl_integration/public/ewk_custom_handlers.cc @@ -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 index 0000000..7d2f489 --- /dev/null +++ b/tizen_src/ewk/efl_integration/public/ewk_custom_handlers_internal.h @@ -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 +#include + +#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 diff --git a/tizen_src/ewk/efl_integration/public/ewk_dispatcher.cc b/tizen_src/ewk/efl_integration/public/ewk_dispatcher.cc index 59097e0..7d82dbc 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_dispatcher.cc +++ b/tizen_src/ewk/efl_integration/public/ewk_dispatcher.cc @@ -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 // // TODO: remove dependency to chromium internal diff --git a/tizen_src/ewk/efl_integration/public/ewk_dispatcher.h b/tizen_src/ewk/efl_integration/public/ewk_dispatcher_internal.h similarity index 74% rename from tizen_src/ewk/efl_integration/public/ewk_dispatcher.h rename to tizen_src/ewk/efl_integration/public/ewk_dispatcher_internal.h index 760adba..62cc2f8 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_dispatcher.h +++ b/tizen_src/ewk/efl_integration/public/ewk_dispatcher_internal.h @@ -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 +#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 diff --git a/tizen_src/ewk/efl_integration/public/ewk_enums.h b/tizen_src/ewk/efl_integration/public/ewk_enums_internal.h similarity index 61% rename from tizen_src/ewk/efl_integration/public/ewk_enums.h rename to tizen_src/ewk/efl_integration/public/ewk_enums_internal.h index 93ae37f..43bb8b6 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_enums.h +++ b/tizen_src/ewk/efl_integration/public/ewk_enums_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 diff --git a/tizen_src/ewk/efl_integration/public/ewk_error.cc b/tizen_src/ewk/efl_integration/public/ewk_error.cc index 3293bd7..48c73eb 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_error.cc +++ b/tizen_src/ewk/efl_integration/public/ewk_error.cc @@ -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" diff --git a/tizen_src/ewk/efl_integration/public/ewk_error.h b/tizen_src/ewk/efl_integration/public/ewk_error.h index 7d5bede..9664cc4 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_error.h +++ b/tizen_src/ewk/efl_integration/public/ewk_error.h @@ -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 @@ -39,35 +32,42 @@ 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_Error* error); /** - * 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 index 0000000..baca895 --- /dev/null +++ b/tizen_src/ewk/efl_integration/public/ewk_error_internal.h @@ -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 diff --git a/tizen_src/ewk/efl_integration/public/ewk_favicon_database.cc b/tizen_src/ewk/efl_integration/public/ewk_favicon_database.cc index d1afeca..f178007 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_favicon_database.cc +++ b/tizen_src/ewk/efl_integration/public/ewk_favicon_database.cc @@ -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" diff --git a/tizen_src/ewk/efl_integration/public/ewk_favicon_database.h b/tizen_src/ewk/efl_integration/public/ewk_favicon_database_internal.h similarity index 94% rename from tizen_src/ewk/efl_integration/public/ewk_favicon_database.h rename to tizen_src/ewk/efl_integration/public/ewk_favicon_database_internal.h index 1a16f38..4e9b336 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_favicon_database.h +++ b/tizen_src/ewk/efl_integration/public/ewk_favicon_database_internal.h @@ -25,12 +25,12 @@ */ /** - * @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 #include @@ -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 diff --git a/tizen_src/ewk/efl_integration/public/ewk_frame.cc b/tizen_src/ewk/efl_integration/public/ewk_frame.cc index 81da74c..00b930b 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_frame.cc +++ b/tizen_src/ewk/efl_integration/public/ewk_frame.cc @@ -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" diff --git a/tizen_src/ewk/efl_integration/public/ewk_frame.h b/tizen_src/ewk/efl_integration/public/ewk_frame_internal.h similarity index 52% rename from tizen_src/ewk/efl_integration/public/ewk_frame.h rename to tizen_src/ewk/efl_integration/public/ewk_frame_internal.h index 7e5ed53..c3749b0 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_frame.h +++ b/tizen_src/ewk/efl_integration/public/ewk_frame_internal.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 #include @@ -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 diff --git a/tizen_src/ewk/efl_integration/public/ewk_geolocation.cc b/tizen_src/ewk/efl_integration/public/ewk_geolocation.cc index 88c63e8..c321db3 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_geolocation.cc +++ b/tizen_src/ewk/efl_integration/public/ewk_geolocation.cc @@ -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" diff --git a/tizen_src/ewk/efl_integration/public/ewk_geolocation.h b/tizen_src/ewk/efl_integration/public/ewk_geolocation.h index 745e26f..c933222 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_geolocation.h +++ b/tizen_src/ewk/efl_integration/public/ewk_geolocation.h @@ -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 @@ -13,47 +33,27 @@ 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 index 0000000..34714a9 --- /dev/null +++ b/tizen_src/ewk/efl_integration/public/ewk_geolocation_internal.h @@ -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 diff --git a/tizen_src/ewk/efl_integration/public/ewk_history.cc b/tizen_src/ewk/efl_integration/public/ewk_history.cc index 27eb4ac..ca7bc58 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_history.cc +++ b/tizen_src/ewk/efl_integration/public/ewk_history.cc @@ -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" diff --git a/tizen_src/ewk/efl_integration/public/ewk_history.h b/tizen_src/ewk/efl_integration/public/ewk_history_internal.h similarity index 93% rename from tizen_src/ewk/efl_integration/public/ewk_history.h rename to tizen_src/ewk/efl_integration/public/ewk_history_internal.h index 66582d2..d025a85 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_history.h +++ b/tizen_src/ewk/efl_integration/public/ewk_history_internal.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 #include @@ -82,4 +82,4 @@ EXPORT_API void ewk_history_free(Ewk_History* history); } #endif -#endif // ewk_history +#endif // ewk_history_internal_h diff --git a/tizen_src/ewk/efl_integration/public/ewk_hit_test.cc b/tizen_src/ewk/efl_integration/public/ewk_hit_test.cc index 907a332..221ed9d 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_hit_test.cc +++ b/tizen_src/ewk/efl_integration/public/ewk_hit_test.cc @@ -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" diff --git a/tizen_src/ewk/efl_integration/public/ewk_hit_test.h b/tizen_src/ewk/efl_integration/public/ewk_hit_test_internal.h similarity index 98% rename from tizen_src/ewk/efl_integration/public/ewk_hit_test.h rename to tizen_src/ewk/efl_integration/public/ewk_hit_test_internal.h index 24b7c96..3db204c 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_hit_test.h +++ b/tizen_src/ewk/efl_integration/public/ewk_hit_test_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_hit_test_h -#define ewk_hit_test_h +#ifndef ewk_hit_test_internal_h +#define ewk_hit_test_internal_h #include #include @@ -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 diff --git a/tizen_src/ewk/efl_integration/public/ewk_intercept_request.h b/tizen_src/ewk/efl_integration/public/ewk_intercept_request.h index 8c0c2c5..6442ab1 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_intercept_request.h +++ b/tizen_src/ewk/efl_integration/public/ewk_intercept_request.h @@ -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 #include #include @@ -12,67 +19,296 @@ 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 index 0000000..7bb8056 --- /dev/null +++ b/tizen_src/ewk/efl_integration/public/ewk_intercept_request_internal.h @@ -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 +#include + +#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_ diff --git a/tizen_src/ewk/efl_integration/public/ewk_ipc_message.cc b/tizen_src/ewk/efl_integration/public/ewk_ipc_message.cc index c5ff43a..218f09b 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_ipc_message.cc +++ b/tizen_src/ewk/efl_integration/public/ewk_ipc_message.cc @@ -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" diff --git a/tizen_src/ewk/efl_integration/public/ewk_ipc_message.h b/tizen_src/ewk/efl_integration/public/ewk_ipc_message_internal.h similarity index 94% rename from tizen_src/ewk/efl_integration/public/ewk_ipc_message.h rename to tizen_src/ewk/efl_integration/public/ewk_ipc_message_internal.h index 4c29b10..fadd271 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_ipc_message.h +++ b/tizen_src/ewk/efl_integration/public/ewk_ipc_message_internal.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 -#include "ewk_export.h" -#include "ewk_context.h" +#include +#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 diff --git a/tizen_src/ewk/efl_integration/public/ewk_log.h b/tizen_src/ewk/efl_integration/public/ewk_log_internal.h similarity index 83% rename from tizen_src/ewk/efl_integration/public/ewk_log.h rename to tizen_src/ewk/efl_integration/public/ewk_log_internal.h index 38edb1b..e63981f 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_log.h +++ b/tizen_src/ewk/efl_integration/public/ewk_log_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 @@ -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 diff --git a/tizen_src/ewk/efl_integration/public/ewk_main.cc b/tizen_src/ewk/efl_integration/public/ewk_main.cc index 3a2886d..8ab5920 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_main.cc +++ b/tizen_src/ewk/efl_integration/public/ewk_main.cc @@ -20,7 +20,7 @@ * */ -#include "ewk_main.h" +#include "ewk_main_internal.h" #include #include @@ -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" diff --git a/tizen_src/ewk/efl_integration/public/ewk_main.h b/tizen_src/ewk/efl_integration/public/ewk_main.h index 1285d4a..d63f721 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_main.h +++ b/tizen_src/ewk/efl_integration/public/ewk_main.h @@ -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 index 0000000..b4040d1 --- /dev/null +++ b/tizen_src/ewk/efl_integration/public/ewk_main_internal.h @@ -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 diff --git a/tizen_src/ewk/efl_integration/public/ewk_notification.cc b/tizen_src/ewk/efl_integration/public/ewk_notification.cc index c122779..b33f6d9 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_notification.cc +++ b/tizen_src/ewk/efl_integration/public/ewk_notification.cc @@ -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 diff --git a/tizen_src/ewk/efl_integration/public/ewk_notification.h b/tizen_src/ewk/efl_integration/public/ewk_notification_internal.h similarity index 97% rename from tizen_src/ewk/efl_integration/public/ewk_notification.h rename to tizen_src/ewk/efl_integration/public/ewk_notification_internal.h index 65155b9..3d83ee9 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_notification.h +++ b/tizen_src/ewk/efl_integration/public/ewk_notification_internal.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 #include -#include "ewk_export.h" -#include "ewk_security_origin.h" +#include +#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 diff --git a/tizen_src/ewk/efl_integration/public/ewk_object.cc b/tizen_src/ewk/efl_integration/public/ewk_object.cc index 93702e0..e837602 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_object.cc +++ b/tizen_src/ewk/efl_integration/public/ewk_object.cc @@ -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" diff --git a/tizen_src/ewk/efl_integration/public/ewk_object.h b/tizen_src/ewk/efl_integration/public/ewk_object_internal.h similarity index 89% rename from tizen_src/ewk/efl_integration/public/ewk_object.h rename to tizen_src/ewk/efl_integration/public/ewk_object_internal.h index 225329b..b274dd5 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_object.h +++ b/tizen_src/ewk/efl_integration/public/ewk_object_internal.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 #include @@ -43,4 +43,4 @@ EXPORT_API void ewk_object_unref(Ewk_Object *object); } #endif -#endif // ewk_object_h +#endif // ewk_object_internal_h diff --git a/tizen_src/ewk/efl_integration/public/ewk_page_group.cc b/tizen_src/ewk/efl_integration/public/ewk_page_group.cc index 93083a3..a702af2 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_page_group.cc +++ b/tizen_src/ewk/efl_integration/public/ewk_page_group.cc @@ -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) diff --git a/tizen_src/ewk/efl_integration/public/ewk_page_group.h b/tizen_src/ewk/efl_integration/public/ewk_page_group_internal.h similarity index 83% rename from tizen_src/ewk/efl_integration/public/ewk_page_group.h rename to tizen_src/ewk/efl_integration/public/ewk_page_group_internal.h index 183ef70..26dc5fa 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_page_group.h +++ b/tizen_src/ewk/efl_integration/public/ewk_page_group_internal.h @@ -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 #include @@ -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 diff --git a/tizen_src/ewk/efl_integration/public/ewk_policy_decision.h b/tizen_src/ewk/efl_integration/public/ewk_policy_decision.h index ca46fa64..2d7d0ef 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_policy_decision.h +++ b/tizen_src/ewk/efl_integration/public/ewk_policy_decision.h @@ -1,208 +1,229 @@ -// 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 -#include "ewk_export.h" -#include "ewk_frame.h" +#include #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 index 0000000..7be6577 --- /dev/null +++ b/tizen_src/ewk/efl_integration/public/ewk_policy_decision_internal.h @@ -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 diff --git a/tizen_src/ewk/efl_integration/public/ewk_popup_menu_item.cc b/tizen_src/ewk/efl_integration/public/ewk_popup_menu_item.cc index bc5a779..1408441 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_popup_menu_item.cc +++ b/tizen_src/ewk/efl_integration/public/ewk_popup_menu_item.cc @@ -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) diff --git a/tizen_src/ewk/efl_integration/public/ewk_popup_menu_item.h b/tizen_src/ewk/efl_integration/public/ewk_popup_menu_item_internal.h similarity index 94% rename from tizen_src/ewk/efl_integration/public/ewk_popup_menu_item.h rename to tizen_src/ewk/efl_integration/public/ewk_popup_menu_item_internal.h index 2dfaeef..b8635b4 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_popup_menu_item.h +++ b/tizen_src/ewk/efl_integration/public/ewk_popup_menu_item_internal.h @@ -24,12 +24,12 @@ */ /** - * @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 #include @@ -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 diff --git a/tizen_src/ewk/efl_integration/public/ewk_quota_permission_request.cc b/tizen_src/ewk/efl_integration/public/ewk_quota_permission_request.cc index 964dc9b..9a4944c 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_quota_permission_request.cc +++ b/tizen_src/ewk/efl_integration/public/ewk_quota_permission_request.cc @@ -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) diff --git a/tizen_src/ewk/efl_integration/public/ewk_quota_permission_request.h b/tizen_src/ewk/efl_integration/public/ewk_quota_permission_request_internal.h similarity index 92% rename from tizen_src/ewk/efl_integration/public/ewk_quota_permission_request.h rename to tizen_src/ewk/efl_integration/public/ewk_quota_permission_request_internal.h index 5146c4f..04ace84 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_quota_permission_request.h +++ b/tizen_src/ewk/efl_integration/public/ewk_quota_permission_request_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_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 #include @@ -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 diff --git a/tizen_src/ewk/efl_integration/public/ewk_security_origin.cc b/tizen_src/ewk/efl_integration/public/ewk_security_origin.cc index e5779e9..5c652b4 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_security_origin.cc +++ b/tizen_src/ewk/efl_integration/public/ewk_security_origin.cc @@ -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" /* diff --git a/tizen_src/ewk/efl_integration/public/ewk_security_origin.h b/tizen_src/ewk/efl_integration/public/ewk_security_origin.h index b310377..174ab70 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_security_origin.h +++ b/tizen_src/ewk/efl_integration/public/ewk_security_origin.h @@ -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 @@ -13,51 +33,42 @@ 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 index 0000000..399de3c --- /dev/null +++ b/tizen_src/ewk/efl_integration/public/ewk_security_origin_internal.h @@ -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 diff --git a/tizen_src/ewk/efl_integration/public/ewk_settings.cc b/tizen_src/ewk/efl_integration/public/ewk_settings.cc index a036165..273f0b4 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_settings.cc +++ b/tizen_src/ewk/efl_integration/public/ewk_settings.cc @@ -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" diff --git a/tizen_src/ewk/efl_integration/public/ewk_settings.h b/tizen_src/ewk/efl_integration/public/ewk_settings.h index 697c763..9cd94a2 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_settings.h +++ b/tizen_src/ewk/efl_integration/public/ewk_settings.h @@ -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 @@ -20,866 +42,267 @@ 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
    . + * @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
      . + * @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_Settings* settings, 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_Settings* settings); /** - * 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 index 0000000..bcab30d --- /dev/null +++ b/tizen_src/ewk/efl_integration/public/ewk_settings_internal.h @@ -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
        . + * + * @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
          . + * + * 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 index 0000000..247066b --- /dev/null +++ b/tizen_src/ewk/efl_integration/public/ewk_settings_product.h @@ -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 diff --git a/tizen_src/ewk/efl_integration/public/ewk_storage_manager.cc b/tizen_src/ewk/efl_integration/public/ewk_storage_manager.cc index 6e6a5da..5eaa362 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_storage_manager.cc +++ b/tizen_src/ewk/efl_integration/public/ewk_storage_manager.cc @@ -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) diff --git a/tizen_src/ewk/efl_integration/public/ewk_storage_manager.h b/tizen_src/ewk/efl_integration/public/ewk_storage_manager_internal.h similarity index 81% rename from tizen_src/ewk/efl_integration/public/ewk_storage_manager.h rename to tizen_src/ewk/efl_integration/public/ewk_storage_manager_internal.h index c86dfeb..70d90b6 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_storage_manager.h +++ b/tizen_src/ewk/efl_integration/public/ewk_storage_manager_internal.h @@ -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 #include @@ -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 diff --git a/tizen_src/ewk/efl_integration/public/ewk_text_style.cc b/tizen_src/ewk/efl_integration/public/ewk_text_style.cc index f2a3223..6886927 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_text_style.cc +++ b/tizen_src/ewk/efl_integration/public/ewk_text_style.cc @@ -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 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 index 0000000..a7d9a21 --- /dev/null +++ b/tizen_src/ewk/efl_integration/public/ewk_text_style_internal.h @@ -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 +#include +#include + +#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 diff --git a/tizen_src/ewk/efl_integration/public/ewk_touch.h b/tizen_src/ewk/efl_integration/public/ewk_touch_internal.h similarity index 90% rename from tizen_src/ewk/efl_integration/public/ewk_touch.h rename to tizen_src/ewk/efl_integration/public/ewk_touch_internal.h index 62d3379..76350e4 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_touch.h +++ b/tizen_src/ewk/efl_integration/public/ewk_touch_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 @@ -34,4 +34,4 @@ struct _Ewk_Touch_Point { } #endif -#endif // ewk_touch_h +#endif // ewk_touch_internal_h diff --git a/tizen_src/ewk/efl_integration/public/ewk_tracing.cc b/tizen_src/ewk/efl_integration/public/ewk_tracing.cc index 9184c00..eb7f997 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_tracing.cc +++ b/tizen_src/ewk/efl_integration/public/ewk_tracing.cc @@ -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" diff --git a/tizen_src/ewk/efl_integration/public/ewk_tracing.h b/tizen_src/ewk/efl_integration/public/ewk_tracing_internal.h similarity index 73% rename from tizen_src/ewk/efl_integration/public/ewk_tracing.h rename to tizen_src/ewk/efl_integration/public/ewk_tracing_internal.h index 3f8e8d3..5134b6a 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_tracing.h +++ b/tizen_src/ewk/efl_integration/public/ewk_tracing_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_tracing_h -#define ewk_tracing_h +#ifndef ewk_tracing_internal_h +#define ewk_tracing_internal_h #include @@ -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 diff --git a/tizen_src/ewk/efl_integration/public/ewk_user_media.cc b/tizen_src/ewk/efl_integration/public/ewk_user_media.cc index 41485fe..64b63b8 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_user_media.cc +++ b/tizen_src/ewk/efl_integration/public/ewk_user_media.cc @@ -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 index 0000000..6471d99 --- /dev/null +++ b/tizen_src/ewk/efl_integration/public/ewk_user_media_internal.h @@ -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 +#include +#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 diff --git a/tizen_src/ewk/efl_integration/public/ewk_view.cc b/tizen_src/ewk/efl_integration/public/ewk_view.cc index 08df9c3..3b95f8e 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_view.cc +++ b/tizen_src/ewk/efl_integration/public/ewk_view.cc @@ -20,7 +20,7 @@ * */ -#include "ewk_view.h" +#include "ewk_view_product.h" #include @@ -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" diff --git a/tizen_src/ewk/efl_integration/public/ewk_view.h b/tizen_src/ewk/efl_integration/public/ewk_view.h index 8f171b7..cf6559c 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_view.h +++ b/tizen_src/ewk/efl_integration/public/ewk_view.h @@ -1,1781 +1,678 @@ /* - * 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 +#include +#include +#include #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 -#include #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 index 0000000..3ce98ec --- /dev/null +++ b/tizen_src/ewk/efl_integration/public/ewk_view_internal.h @@ -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 index 0000000..99a523b --- /dev/null +++ b/tizen_src/ewk/efl_integration/public/ewk_view_product.h @@ -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 diff --git a/tizen_src/ewk/efl_integration/public/ewk_web_application_icon_data.cc b/tizen_src/ewk/efl_integration/public/ewk_web_application_icon_data.cc index 6a87e6a..2e2c34d 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_web_application_icon_data.cc +++ b/tizen_src/ewk/efl_integration/public/ewk_web_application_icon_data.cc @@ -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" diff --git a/tizen_src/ewk/efl_integration/public/ewk_web_application_icon_data.h b/tizen_src/ewk/efl_integration/public/ewk_web_application_icon_data_internal.h similarity index 86% rename from tizen_src/ewk/efl_integration/public/ewk_web_application_icon_data.h rename to tizen_src/ewk/efl_integration/public/ewk_web_application_icon_data_internal.h index 588e0e0..2ab5e49 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_web_application_icon_data.h +++ b/tizen_src/ewk/efl_integration/public/ewk_web_application_icon_data_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_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 #include @@ -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 diff --git a/tizen_src/ewk/efl_integration/public/ewk_window_features.cc b/tizen_src/ewk/efl_integration/public/ewk_window_features.cc index 657fed3..d246887 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_window_features.cc +++ b/tizen_src/ewk/efl_integration/public/ewk_window_features.cc @@ -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" diff --git a/tizen_src/ewk/efl_integration/public/ewk_window_features.h b/tizen_src/ewk/efl_integration/public/ewk_window_features_internal.h similarity index 96% rename from tizen_src/ewk/efl_integration/public/ewk_window_features.h rename to tizen_src/ewk/efl_integration/public/ewk_window_features_internal.h index bfdb63d..4684639 100644 --- a/tizen_src/ewk/efl_integration/public/ewk_window_features.h +++ b/tizen_src/ewk/efl_integration/public/ewk_window_features_internal.h @@ -24,12 +24,12 @@ */ /** - * @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 @@ -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 diff --git a/tizen_src/ewk/efl_integration/renderer/render_view_observer_efl.h b/tizen_src/ewk/efl_integration/renderer/render_view_observer_efl.h index ebbfd2b..70cdff5 100644 --- a/tizen_src/ewk/efl_integration/renderer/render_view_observer_efl.h +++ b/tizen_src/ewk/efl_integration/renderer/render_view_observer_efl.h @@ -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" diff --git a/tizen_src/ewk/efl_integration/url_request_context_getter_efl.h b/tizen_src/ewk/efl_integration/url_request_context_getter_efl.h index d744205..f4496f1 100644 --- a/tizen_src/ewk/efl_integration/url_request_context_getter_efl.h +++ b/tizen_src/ewk/efl_integration/url_request_context_getter_efl.h @@ -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; diff --git a/tizen_src/ewk/efl_integration/web_contents_delegate_efl.h b/tizen_src/ewk/efl_integration/web_contents_delegate_efl.h index 1aa643e..4dbad86 100644 --- a/tizen_src/ewk/efl_integration/web_contents_delegate_efl.h +++ b/tizen_src/ewk/efl_integration/web_contents_delegate_efl.h @@ -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; diff --git a/tizen_src/ewk/efl_webview_app/app.c b/tizen_src/ewk/efl_webview_app/app.c index c9c9ce9..381e1882 100644 --- a/tizen_src/ewk/efl_webview_app/app.c +++ b/tizen_src/ewk/efl_webview_app/app.c @@ -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 #include #include @@ -36,6 +20,11 @@ #include #include +#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)); diff --git a/tizen_src/ewk/efl_webview_app/mini_browser.c b/tizen_src/ewk/efl_webview_app/mini_browser.c index 5f68429..ccda479 100644 --- a/tizen_src/ewk/efl_webview_app/mini_browser.c +++ b/tizen_src/ewk/efl_webview_app/mini_browser.c @@ -27,17 +27,10 @@ #include #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); diff --git a/tizen_src/ewk/ubrowser/browser.cc b/tizen_src/ewk/ubrowser/browser.cc index 3dcda61..1fdc4ca 100644 --- a/tizen_src/ewk/ubrowser/browser.cc +++ b/tizen_src/ewk/ubrowser/browser.cc @@ -8,8 +8,9 @@ #include "tizen/system_info.h" #include -#include -#include +#include +#include +#include static std::string kHomePage = "http://www.google.com"; static int kDefaultMobileWindowWidth = 360; diff --git a/tizen_src/ewk/ubrowser/main.cc b/tizen_src/ewk/ubrowser/main.cc index 7b9c973..03f3053 100644 --- a/tizen_src/ewk/ubrowser/main.cc +++ b/tizen_src/ewk/ubrowser/main.cc @@ -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 #include -#include #include #include #include diff --git a/tizen_src/ewk/ubrowser/window.cc b/tizen_src/ewk/ubrowser/window.cc index 375d242..dae75af 100644 --- a/tizen_src/ewk/ubrowser/window.cc +++ b/tizen_src/ewk/ubrowser/window.cc @@ -5,10 +5,9 @@ #include "window.h" #include -#include -#include -#include -#include +#include +#include +#include #include #include "browser.h" diff --git a/tizen_src/ewk/ubrowser/window.h b/tizen_src/ewk/ubrowser/window.h index 2d489f7..839902a 100644 --- a/tizen_src/ewk/ubrowser/window.h +++ b/tizen_src/ewk/ubrowser/window.h @@ -7,8 +7,8 @@ #include #include -#include -#include +#include +#include class Browser; class WindowUI; diff --git a/tizen_src/ewk/ubrowser/window_ui.cc b/tizen_src/ewk/ubrowser/window_ui.cc index 1d2b107..147c27a 100644 --- a/tizen_src/ewk/ubrowser/window_ui.cc +++ b/tizen_src/ewk/ubrowser/window_ui.cc @@ -6,8 +6,9 @@ #include #include -#include -#include +#include +#include +#include #ifdef OS_TIZEN #include