ChangeLog

 12012-05-18 Christophe Dumez <christophe.dumez@intel.com>
 2
 3 [EFL] Add simple implementation of Web Intents
 4 https://bugs.webkit.org/show_bug.cgi?id=86354
 5
 6 Reviewed by Eric Seidel.
 7
 8 Enable WEB_INTENTS flag by default on EFL port.
 9
 10 * Source/cmake/OptionsEfl.cmake:
 11
1122012-05-17 Dan Bernstein <mitz@apple.com>
213
314 REGRESSION (r117428): WebKit API/SPI was removed

Source/WebKit/CMakeLists.txt

@@SET(WebKit_INCLUDE_DIRECTORIES
22 "${WEBKIT_DIR}"
33 "${WEBCORE_DIR}"
44 "${WEBCORE_DIR}/Modules/webdatabase"
 5 "${WEBCORE_DIR}/Modules/intents"
56 "${WEBCORE_DIR}/accessibility"
67 "${WEBCORE_DIR}/bindings/js"
78 "${WEBCORE_DIR}/bindings"

Source/WebKit/ChangeLog

 12012-05-18 Christophe Dumez <christophe.dumez@intel.com>
 2
 3 [EFL] Add simple implementation of Web Intents
 4 https://bugs.webkit.org/show_bug.cgi?id=86354
 5
 6 Reviewed by Eric Seidel.
 7
 8 Add new ewk_intent.* and ewk_intent_request.* files to CMake.
 9
 10 * CMakeLists.txt:
 11 * PlatformEfl.cmake:
 12
1132012-05-17 Thiago Marcos P. Santos <thiago.santos@intel.com>
214
315 [EFL] Add API for Web Database handling

Source/WebKit/PlatformEfl.cmake

@@LIST(APPEND WebKit_SOURCES
119119 efl/ewk/ewk_view.cpp
120120 efl/ewk/ewk_view_single.cpp
121121 efl/ewk/ewk_view_tiled.cpp
 122 efl/ewk/ewk_intent.cpp
 123 efl/ewk/ewk_intent_request.cpp
122124 efl/ewk/ewk_window_features.cpp
123125 efl/ewk/ewk_web_database.cpp
124126)

@@SET(EWebKit_HEADERS
267269 ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_security_policy.h
268270 ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_settings.h
269271 ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_view.h
 272 ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_intent.h
 273 ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_intent_request.h
270274 ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_window_features.h
271275 ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_web_database.h
272276)

Source/WebKit/efl/ChangeLog

 12012-05-18 Christophe Dumez <christophe.dumez@intel.com>
 2
 3 [EFL] Add simple implementation of Web Intents
 4 https://bugs.webkit.org/show_bug.cgi?id=86354
 5
 6 Reviewed by Eric Seidel.
 7
 8 Add new EFL wrappers for WebCore's Intent and IntentRequest.
 9 Implement dispatchIntent() in EFL's FrameLoaderClient and emit a new
 10 "intent,new" signal on the frame to notify clients of new intent
 11 requests.
 12
 13 * WebCoreSupport/FrameLoaderClientEfl.cpp:
 14 (WebCore):
 15 (WebCore::FrameLoaderClientEfl::dispatchIntent):
 16 * WebCoreSupport/FrameLoaderClientEfl.h:
 17 (FrameLoaderClientEfl):
 18 * ewk/ewk_frame.cpp:
 19 (ewk_frame_intent_new):
 20 * ewk/ewk_frame.h:
 21 * ewk/ewk_frame_private.h:
 22 * ewk/ewk_intent.cpp: Added.
 23 (_Ewk_Intent):
 24 (ewk_intent_action_get):
 25 (ewk_intent_type_get):
 26 (ewk_intent_data_get):
 27 (ewk_intent_service_get):
 28 (ewk_intent_extra_get):
 29 (ewk_intent_new):
 30 (ewk_intent_free):
 31 * ewk/ewk_intent.h: Added.
 32 * ewk/ewk_intent_private.h: Added.
 33 (WebCore):
 34 * ewk/ewk_intent_request.cpp: Added.
 35 (_Ewk_Intent_Request):
 36 (ewk_intent_request_ref):
 37 (ewk_intent_request_unref):
 38 (ewk_intent_request_intent_get):
 39 (ewk_intent_request_result_post):
 40 (ewk_intent_request_failure_post):
 41 (ewk_intent_request_new):
 42 * ewk/ewk_intent_request.h: Added.
 43
1442012-05-17 Raphael Kubo da Costa <rakuco@webkit.org>
245
346 [EFL][DRT] Call resetInternalsObject() after each test.

Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp

4343#include "FrameTree.h"
4444#include "FrameView.h"
4545#include "HTMLFormElement.h"
 46#include "IntentRequest.h"
4647#include "MIMETypeRegistry.h"
4748#include "NotImplemented.h"
4849#include "Page.h"

5455#include "Settings.h"
5556#include "WebKitVersion.h"
5657#include "ewk_frame_private.h"
 58#include "ewk_intent_request.h"
5759#include "ewk_private.h"
5860#include "ewk_settings_private.h"
5961#include "ewk_view_private.h"

@@void FrameLoaderClientEfl::dispatchDidBecomeFrameset(bool)
970972{
971973}
972974
 975#if ENABLE(WEB_INTENTS)
 976void FrameLoaderClientEfl::dispatchIntent(PassRefPtr<WebCore::IntentRequest> intentRequest)
 977{
 978 Ewk_Intent_Request* ewkRequest = ewk_intent_request_new(intentRequest);
 979 ewk_frame_intent_new(m_frame, ewkRequest);
 980 ewk_intent_request_unref(ewkRequest);
 981}
 982#endif
 983
973984PassRefPtr<FrameNetworkingContext> FrameLoaderClientEfl::createNetworkingContext()
974985{
975986 return FrameNetworkingContextEfl::create(EWKPrivate::coreFrame(m_frame), m_frame);

Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.h

@@class FrameLoaderClientEfl : public FrameLoaderClient {
185185 virtual void provisionalLoadStarted();
186186 virtual void didFinishLoad();
187187 virtual void prepareForDataSourceReplacement();
 188#if ENABLE(WEB_INTENTS)
 189 virtual void dispatchIntent(PassRefPtr<WebCore::IntentRequest>);
 190#endif
188191
189192 virtual WTF::PassRefPtr<DocumentLoader> createDocumentLoader(const ResourceRequest&, const SubstituteData&);
190193 virtual void setTitle(const StringWithDirection& title, const KURL&);

Source/WebKit/efl/ewk/ewk_frame.cpp

@@void ewk_frame_load_progress_changed(Evas_Object* ewkFrame)
15181518 ewk_view_load_progress_changed(smartData->view);
15191519}
15201520
 1521/**
 1522 * @internal
 1523 * Reports new intent.
 1524 *
 1525 * Emits signal: "intent,new" with pointer to a Ewk_Intent_Request.
 1526 */
 1527void ewk_frame_intent_new(Evas_Object* ewkFrame, Ewk_Intent_Request* request)
 1528{
 1529#if ENABLE(WEB_INTENTS)
 1530 evas_object_smart_callback_call(ewkFrame, "intent,new", request);
 1531#endif
 1532}
15211533
15221534/**
15231535 * @internal

Source/WebKit/efl/ewk/ewk_frame.h

4040 * - "editorclient,contents,changed", void: reports that editor client's
4141 * contents were changed
4242 * - "icon,changed", void: frame favicon changed.
 43 * - "intent,new", EwkIntentRequest*: reports new intent.
4344 * - "load,committed", void: reports load committed.
4445 * - "load,document,finished", void: frame finished loading the document.
4546 * - "load,error", const Ewk_Frame_Load_Error*: reports load failed

Source/WebKit/efl/ewk/ewk_frame_private.h

2222#define ewk_frame_private_h
2323
2424#include "ewk_frame.h"
 25#include "ewk_intent_request.h"
2526#include <Evas.h>
2627#include <wtf/PassRefPtr.h>
2728#include <wtf/Vector.h>

@@void ewk_frame_view_create_for_view(Evas_Object* ewkFrame, Evas_Object* view);
6768bool ewk_frame_uri_changed(Evas_Object* ewkFrame);
6869void ewk_frame_force_layout(Evas_Object* ewkFrame);
6970void ewk_frame_icon_changed(Evas_Object* ewkFrame);
 71void ewk_frame_intent_new(Evas_Object* ewkFrame, Ewk_Intent_Request* request);
7072
7173WTF::PassRefPtr<WebCore::Widget> ewk_frame_plugin_create(Evas_Object* ewkFrame, const WebCore::IntSize& pluginSize, WebCore::HTMLPlugInElement* element, const WebCore::KURL& url, const WTF::Vector<WTF::String>& paramNames, const WTF::Vector<WTF::String>& paramValues, const WTF::String& mimeType, bool loadManually);
7274

Source/WebKit/efl/ewk/ewk_intent.cpp

 1/*
 2 Copyright (C) 2012 Intel Corporation
 3
 4 This library is free software; you can redistribute it and/or
 5 modify it under the terms of the GNU Library General Public
 6 License as published by the Free Software Foundation; either
 7 version 2 of the License, or (at your option) any later version.
 8
 9 This library is distributed in the hope that it will be useful,
 10 but WITHOUT ANY WARRANTY; without even the implied warranty of
 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 12 Library General Public License for more details.
 13
 14 You should have received a copy of the GNU Library General Public License
 15 along with this library; see the file COPYING.LIB. If not, write to
 16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 17 Boston, MA 02110-1301, USA.
 18*/
 19
 20#include "config.h"
 21#include "ewk_intent.h"
 22
 23#include "Intent.h"
 24#include "NotImplemented.h"
 25#include "SerializedScriptValue.h"
 26#include "ewk_intent_private.h"
 27#include "ewk_private.h"
 28#include <eina_safety_checks.h>
 29#include <wtf/HashMap.h>
 30#include <wtf/text/CString.h>
 31
 32/**
 33 * \struct _Ewk_Intent
 34 * @brief Contains the intent data.
 35 */
 36struct _Ewk_Intent {
 37#if ENABLE(WEB_INTENTS)
 38 WebCore::Intent* core; /**< WebCore object which is responsible for the intent */
 39#endif
 40 const char* action;
 41 const char* type;
 42 const char* data;
 43 const char* service;
 44};
 45
 46#define EWK_INTENT_CORE_GET_OR_RETURN(intent, core_, ...) \
 47 if (!(intent)) { \
 48 CRITICAL("intent is NULL."); \
 49 return __VA_ARGS__; \
 50 } \
 51 if (!(intent)->core) { \
 52 CRITICAL("intent->core is NULL."); \
 53 return __VA_ARGS__; \
 54 } \
 55 WebCore::Intent* core_ = (intent)->core
 56
 57const char* ewk_intent_action_get(const Ewk_Intent* intent)
 58{
 59#if ENABLE(WEB_INTENTS)
 60 EWK_INTENT_CORE_GET_OR_RETURN(intent, core, 0);
 61
 62 // hide the following optimzation from outside
 63 Ewk_Intent* ewkIntent = const_cast<Ewk_Intent*>(intent);
 64 eina_stringshare_replace(&ewkIntent->action,
 65 core->action().utf8().data());
 66 return ewkIntent->action;
 67#else
 68 return 0;
 69#endif
 70}
 71
 72const char* ewk_intent_type_get(const Ewk_Intent* intent)
 73{
 74#if ENABLE(WEB_INTENTS)
 75 EWK_INTENT_CORE_GET_OR_RETURN(intent, core, 0);
 76
 77 // hide the following optimzation from outside
 78 Ewk_Intent* ewkIntent = const_cast<Ewk_Intent*>(intent);
 79 eina_stringshare_replace(&ewkIntent->type,
 80 core->type().utf8().data());
 81 return ewkIntent->type;
 82#else
 83 return 0;
 84#endif
 85}
 86
 87const char* ewk_intent_data_get(const Ewk_Intent* intent)
 88{
 89#if ENABLE(WEB_INTENTS)
 90 notImplemented();
 91 return 0;
 92#else
 93 return 0;
 94#endif
 95}
 96
 97const char* ewk_intent_service_get(const Ewk_Intent* intent)
 98{
 99#if ENABLE(WEB_INTENTS)
 100 EWK_INTENT_CORE_GET_OR_RETURN(intent, core, 0);
 101
 102 // hide the following optimzation from outside
 103 Ewk_Intent* ewkIntent = const_cast<Ewk_Intent*>(intent);
 104 eina_stringshare_replace(&ewkIntent->service,
 105 core->service().string().utf8().data());
 106 return ewkIntent->service;
 107#else
 108 return 0;
 109#endif
 110}
 111
 112char* ewk_intent_extra_get(const Ewk_Intent* intent, const char* key)
 113{
 114#if ENABLE(WEB_INTENTS)
 115 EWK_INTENT_CORE_GET_OR_RETURN(intent, core, 0);
 116 WTF::HashMap<String, String>::const_iterator val = core->extras().find(String::fromUTF8(key));
 117 if (val == core->extras().end())
 118 return 0;
 119 return strdup(val->second.utf8().data());
 120#else
 121 return 0;
 122#endif
 123}
 124
 125#if ENABLE(WEB_INTENTS)
 126/**
 127 * @internal
 128 *
 129 * Creates a new Ewk_Intent object.
 130 *
 131 * @param core WebCore::Intent instance to use internally.
 132 * @return a new allocated the Ewk_Intent object on sucess or @c 0 on failure
 133 */
 134Ewk_Intent* ewk_intent_new(WebCore::Intent* core)
 135{
 136 EINA_SAFETY_ON_NULL_RETURN_VAL(core, 0);
 137 Ewk_Intent* intent = new Ewk_Intent;
 138 intent->core = core;
 139
 140 return intent;
 141}
 142
 143/**
 144 * @internal
 145 *
 146 * Free given Ewk_Intent instance.
 147 *
 148 * @param intent the object to free.
 149 */
 150void ewk_intent_free(Ewk_Intent* intent)
 151{
 152 EINA_SAFETY_ON_NULL_RETURN(intent);
 153
 154 delete intent;
 155}
 156#endif

Source/WebKit/efl/ewk/ewk_intent.h

 1/*
 2 Copyright (C) 2012 Intel Corporation
 3
 4 This library is free software; you can redistribute it and/or
 5 modify it under the terms of the GNU Library General Public
 6 License as published by the Free Software Foundation; either
 7 version 2 of the License, or (at your option) any later version.
 8
 9 This library is distributed in the hope that it will be useful,
 10 but WITHOUT ANY WARRANTY; without even the implied warranty of
 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 12 Library General Public License for more details.
 13
 14 You should have received a copy of the GNU Library General Public License
 15 along with this library; see the file COPYING.LIB. If not, write to
 16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 17 Boston, MA 02110-1301, USA.
 18*/
 19
 20#ifndef ewk_intent_h
 21#define ewk_intent_h
 22
 23#include <Eina.h>
 24
 25#ifdef __cplusplus
 26extern "C" {
 27#endif
 28
 29/** Creates a type name for _Ewk_Intent */
 30typedef struct _Ewk_Intent Ewk_Intent;
 31
 32/**
 33 * Query action for this intent.
 34 *
 35 * @param intent intent item to query.
 36 *
 37 * @return the action pointer, that may be @c NULL. This pointer is
 38 * guaranteed to be eina_stringshare, so whenever possible
 39 * save yourself some cpu cycles and use
 40 * eina_stringshare_ref() instead of eina_stringshare_add() or
 41 * strdup().
 42 */
 43EAPI const char *ewk_intent_action_get(const Ewk_Intent *intent);
 44
 45/**
 46 * Query type for this intent.
 47 *
 48 * @param intent intent item to query.
 49 *
 50 * @return the type pointer, that may be @c NULL. This pointer is
 51 * guaranteed to be eina_stringshare, so whenever possible
 52 * save yourself some cpu cycles and use
 53 * eina_stringshare_ref() instead of eina_stringshare_add() or
 54 * strdup().
 55 */
 56EAPI const char *ewk_intent_type_get(const Ewk_Intent *intent);
 57
 58/**
 59 * Query data for this intent.
 60 *
 61 * @param intent intent item to query.
 62 *
 63 * @return the data pointer, that may be @c NULL. This pointer is
 64 * guaranteed to be eina_stringshare, so whenever possible
 65 * save yourself some cpu cycles and use
 66 * eina_stringshare_ref() instead of eina_stringshare_add() or
 67 * strdup().
 68 */
 69EAPI const char *ewk_intent_data_get(const Ewk_Intent *intent);
 70
 71/**
 72 * Query service for this intent.
 73 *
 74 * @param intent intent item to query.
 75 *
 76 * @return the service pointer, that may be @c NULL. This pointer is
 77 * guaranteed to be eina_stringshare, so whenever possible
 78 * save yourself some cpu cycles and use
 79 * eina_stringshare_ref() instead of eina_stringshare_add() or
 80 * strdup().
 81 */
 82EAPI const char *ewk_intent_service_get(const Ewk_Intent *intent);
 83
 84/**
 85 * Retrieves the value (if any) from the extra data dictionary this intent was constructed with.
 86 *
 87 * @param intent intent item to query.
 88 * @param key key to query in the dictionary.
 89 *
 90 * @return a newly allocated string or @c NULL in case of error or if the key does not exist.
 91 */
 92EAPI char *ewk_intent_extra_get(const Ewk_Intent *intent, const char *key);
 93
 94#ifdef __cplusplus
 95}
 96#endif
 97#endif // ewk_intent_h

Source/WebKit/efl/ewk/ewk_intent_private.h

 1/*
 2 Copyright (C) 2012 Intel Corporation
 3
 4 This library is free software; you can redistribute it and/or
 5 modify it under the terms of the GNU Library General Public
 6 License as published by the Free Software Foundation; either
 7 version 2 of the License, or (at your option) any later version.
 8
 9 This library is distributed in the hope that it will be useful,
 10 but WITHOUT ANY WARRANTY; without even the implied warranty of
 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 12 Library General Public License for more details.
 13
 14 You should have received a copy of the GNU Library General Public License
 15 along with this library; see the file COPYING.LIB. If not, write to
 16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 17 Boston, MA 02110-1301, USA.
 18*/
 19
 20#ifndef ewk_intent_private_h
 21#define ewk_intent_private_h
 22
 23#if ENABLE(WEB_INTENTS)
 24// forward declarations
 25namespace WebCore {
 26class Intent;
 27class IntentRequest;
 28}
 29
 30Ewk_Intent* ewk_intent_new(WebCore::Intent* core);
 31void ewk_intent_free(Ewk_Intent* intent);
 32Ewk_Intent_Request* ewk_intent_request_new(PassRefPtr<WebCore::IntentRequest> core);
 33#endif
 34
 35#endif // ewk_intent_private_h

Source/WebKit/efl/ewk/ewk_intent_request.cpp

 1/*
 2 Copyright (C) 2012 Intel Corporation
 3
 4 This library is free software; you can redistribute it and/or
 5 modify it under the terms of the GNU Library General Public
 6 License as published by the Free Software Foundation; either
 7 version 2 of the License, or (at your option) any later version.
 8
 9 This library is distributed in the hope that it will be useful,
 10 but WITHOUT ANY WARRANTY; without even the implied warranty of
 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 12 Library General Public License for more details.
 13
 14 You should have received a copy of the GNU Library General Public License
 15 along with this library; see the file COPYING.LIB. If not, write to
 16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 17 Boston, MA 02110-1301, USA.
 18*/
 19
 20#include "config.h"
 21#include "ewk_intent_request.h"
 22
 23#include "IntentRequest.h"
 24#include "SerializedScriptValue.h"
 25#include "ewk_intent_private.h"
 26#include "ewk_private.h"
 27
 28/**
 29 * \struct _Ewk_Intent_Request
 30 * @brief Contains the intent request data.
 31 */
 32struct _Ewk_Intent_Request {
 33 unsigned int __ref; /**< the reference count of the object */
 34#if ENABLE(WEB_INTENTS)
 35 RefPtr<WebCore::IntentRequest> core;
 36#endif
 37 Ewk_Intent* intent;
 38};
 39
 40#define EWK_INTENT_REQUEST_CORE_GET_OR_RETURN(request, core_, ...) \
 41 if (!(request)) { \
 42 CRITICAL("request is NULL."); \
 43 return __VA_ARGS__; \
 44 } \
 45 if (!(request)->core) { \
 46 CRITICAL("request->core is NULL."); \
 47 return __VA_ARGS__; \
 48 } \
 49 RefPtr<WebCore::IntentRequest> core_ = (request)->core
 50
 51void ewk_intent_request_ref(Ewk_Intent_Request* request)
 52{
 53#if ENABLE(WEB_INTENTS)
 54 EINA_SAFETY_ON_NULL_RETURN(request);
 55 ++request->__ref;
 56#endif
 57}
 58
 59void ewk_intent_request_unref(Ewk_Intent_Request* request)
 60{
 61#if ENABLE(WEB_INTENTS)
 62 EINA_SAFETY_ON_NULL_RETURN(request);
 63
 64 if (--request->__ref)
 65 return;
 66
 67 ewk_intent_free(request->intent);
 68 delete request;
 69#endif
 70}
 71
 72Ewk_Intent* ewk_intent_request_intent_get(const Ewk_Intent_Request* request)
 73{
 74#if ENABLE(WEB_INTENTS)
 75 EINA_SAFETY_ON_NULL_RETURN_VAL(request, 0);
 76
 77 return request->intent;
 78#else
 79 return 0;
 80#endif
 81}
 82
 83void ewk_intent_request_result_post(Ewk_Intent_Request* request, const char* result)
 84{
 85#if ENABLE(WEB_INTENTS)
 86 EWK_INTENT_REQUEST_CORE_GET_OR_RETURN(request, core);
 87
 88 RefPtr<WebCore::SerializedScriptValue> value = WebCore::SerializedScriptValue::create(String::fromUTF8(result));
 89 core->postResult(value.release().leakRef());
 90#endif
 91}
 92
 93void ewk_intent_request_failure_post(Ewk_Intent_Request* request, const char* failure)
 94{
 95#if ENABLE(WEB_INTENTS)
 96 EWK_INTENT_REQUEST_CORE_GET_OR_RETURN(request, core);
 97
 98 RefPtr<WebCore::SerializedScriptValue> value = WebCore::SerializedScriptValue::create(String::fromUTF8(failure));
 99 core->postResult(value.release().leakRef());
 100#endif
 101}
 102
 103#if ENABLE(WEB_INTENTS)
 104/**
 105 * @internal
 106 *
 107 * Creates a new Ewk_Intent_Request object.
 108 *
 109 * @param core WebCore::IntentRequest instance to use internally.
 110 * @return a new allocated the Ewk_Intent_Request object on sucess or @c 0 on failure
 111 */
 112Ewk_Intent_Request* ewk_intent_request_new(PassRefPtr<WebCore::IntentRequest> core)
 113{
 114 EINA_SAFETY_ON_NULL_RETURN_VAL(core, 0);
 115 Ewk_Intent_Request* request = new Ewk_Intent_Request;
 116 request->__ref = 1;
 117 request->core = core;
 118 request->intent = ewk_intent_new(core->intent());
 119
 120 return request;
 121}
 122#endif

Source/WebKit/efl/ewk/ewk_intent_request.h

 1/*
 2 Copyright (C) 2012 Intel Corporation
 3
 4 This library is free software; you can redistribute it and/or
 5 modify it under the terms of the GNU Library General Public
 6 License as published by the Free Software Foundation; either
 7 version 2 of the License, or (at your option) any later version.
 8
 9 This library is distributed in the hope that it will be useful,
 10 but WITHOUT ANY WARRANTY; without even the implied warranty of
 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 12 Library General Public License for more details.
 13
 14 You should have received a copy of the GNU Library General Public License
 15 along with this library; see the file COPYING.LIB. If not, write to
 16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 17 Boston, MA 02110-1301, USA.
 18*/
 19
 20#ifndef ewk_intent_request_h
 21#define ewk_intent_request_h
 22
 23#include "ewk_intent.h"
 24
 25#include <Eina.h>
 26
 27#ifdef __cplusplus
 28extern "C" {
 29#endif
 30
 31/** Creates a type name for _Ewk_Intent */
 32typedef struct _Ewk_Intent_Request Ewk_Intent_Request;
 33
 34/**
 35 * Increases the reference count of the given object.
 36 *
 37 * @param request the intent request object to increase the reference count
 38 */
 39EAPI void ewk_intent_request_ref(Ewk_Intent_Request *request);
 40
 41/**
 42 * Decreases the reference count of the given object, possibly freeing it.
 43 *
 44 * When the reference count it's reached 0, the intent request is freed.
 45 *
 46 * @param request the intent request object to decrease the reference count
 47 */
 48EAPI void ewk_intent_request_unref(Ewk_Intent_Request *request);
 49
 50/**
 51 * Query intent for this request.
 52 *
 53 * @param request request item to query.
 54 *
 55 * @return A pointer to the intent instance.
 56 */
 57EAPI Ewk_Intent *ewk_intent_request_intent_get(const Ewk_Intent_Request *request);
 58
 59/**
 60 * Report request success.
 61 *
 62 * The payload data will be passed to the success callback registered by the client.
 63 *
 64 * @param request request item.
 65 * @param result payload data.
 66 */
 67EAPI void ewk_intent_request_result_post(Ewk_Intent_Request *request, const char *result);
 68
 69/**
 70 * Report request failure.
 71 *
 72 * The payload data will be passed to the error callback registered by the client.
 73 *
 74 * @param request request item.
 75 * @param failure payload data.
 76 */
 77EAPI void ewk_intent_request_failure_post(Ewk_Intent_Request *request, const char *failure);
 78
 79#ifdef __cplusplus
 80}
 81#endif
 82#endif // ewk_intent_request_h

Source/cmake/OptionsEfl.cmake

@@WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIBRATION ON)
8181WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIDEO ON)
8282WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIDEO_TRACK ON)
8383WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_AUDIO ON)
 84WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_INTENTS, ON)
8485WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_TIMING ON)
8586WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WORKERS ON)
8687WEBKIT_OPTION_END()