ChangeLog

 12012-06-01 Christophe Dumez <christophe.dumez@intel.com>
 2
 3 [EFL] EFL port does not enable WEB_INTENTS_TAG flag
 4 https://bugs.webkit.org/show_bug.cgi?id=86866
 5
 6 Reviewed by NOBODY (OOPS!).
 7
 8 Enable WEB_INTENTS_TAG flag by default on EFL port.
 9
 10 * Source/cmake/OptionsEfl.cmake:
 11 * Source/cmake/WebKitFeatures.cmake:
 12 * Source/cmakeconfig.h.cmake:
 13
1142012-05-31 Christophe Dumez <christophe.dumez@intel.com>
215
316 [EFL] Enable CSS_IMAGE_SET flag

LayoutTests/ChangeLog

 12012-06-01 Christophe Dumez <christophe.dumez@intel.com>
 2
 3 [EFL] EFL port does not enable WEB_INTENTS_TAG flag
 4 https://bugs.webkit.org/show_bug.cgi?id=86866
 5
 6 Reviewed by NOBODY (OOPS!).
 7
 8 Unskip webintents/intent-tag.html now that the WEB_INTENTS_TAG flag is
 9 enabled by default on EFL port.
 10
 11 * platform/efl/test_expectations.txt:
 12
1132012-05-31 Dominic Cooney <dominicc@chromium.org>
214
315 [V8] Expando properties on attribute nodes disappear

LayoutTests/platform/efl/test_expectations.txt

@@BUGWK84167 : editing/selection/table-caret-3.html = IMAGE+TEXT
652652BUGWK84167 : tables/mozilla/bugs/bug2479-2.html = IMAGE+TEXT
653653
654654// Incomplete Web Intents support
655 BUGWK86866 SKIP : webintents/intent-tag.html = TEXT
656655BUGWK86865 SKIP : webintents/web-intents-delivery.html = TEXT
657656
658657// EFL's LayoutTestController does not implement setAutomaticLinkDetectionEnabled

Source/WebCore/CMakeLists.txt

@@ENDIF ()
25242524
25252525IF (ENABLE_WEB_INTENTS)
25262526 LIST(APPEND WebCore_IDL_FILES
 2527 html/HTMLIntentElement.idl
25272528 Modules/intents/DeliveredIntent.idl
25282529 Modules/intents/DOMWindowIntents.idl
25292530 Modules/intents/Intent.idl

@@IF (ENABLE_WEB_INTENTS)
25312532 Modules/intents/NavigatorIntents.idl
25322533 )
25332534 LIST(APPEND WebCore_SOURCES
 2535 html/HTMLIntentElement.cpp
25342536 Modules/intents/DeliveredIntent.cpp
25352537 Modules/intents/DOMWindowIntents.cpp
25362538 Modules/intents/Intent.cpp

Source/WebCore/ChangeLog

 12012-06-01 Christophe Dumez <christophe.dumez@intel.com>
 2
 3 [EFL] EFL port does not enable WEB_INTENTS_TAG flag
 4 https://bugs.webkit.org/show_bug.cgi?id=86866
 5
 6 Reviewed by NOBODY (OOPS!).
 7
 8 Fix compilation error when WEB_INTENTS_TAG flag is enabled.
 9 HTMLElement::insertedInto() takes a ContainerNode* in argument, not a
 10 Node*.
 11
 12 Test: webintents/intent-tag.html
 13
 14 * CMakeLists.txt:
 15 * html/HTMLIntentElement.cpp:
 16 (WebCore::HTMLIntentElement::insertedInto):
 17 * html/HTMLIntentElement.h:
 18 (HTMLIntentElement):
 19
1202012-05-31 Dominic Cooney <dominicc@chromium.org>
221
322 [V8] Expando properties on attribute nodes disappear

Source/WebCore/html/HTMLIntentElement.cpp

@@PassRefPtr<HTMLIntentElement> HTMLIntentElement::create(const QualifiedName& tag
5151 return adoptRef(new HTMLIntentElement(tagName, document));
5252}
5353
54 Node::InsertionNotificationRequest HTMLIntentElement::insertedInto(Node* insertionPoint)
 54Node::InsertionNotificationRequest HTMLIntentElement::insertedInto(ContainerNode* insertionPoint)
5555{
5656 HTMLElement::insertedInto(insertionPoint);
5757

Source/WebCore/html/HTMLIntentElement.h

@@public:
4242private:
4343 HTMLIntentElement(const QualifiedName&, Document*);
4444
45  virtual InsertionNotificationRequest insertedInto(Node*) OVERRIDE;
 45 virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
4646};
4747
4848} // namespace WebCore

Source/WebKit/efl/ChangeLog

 12012-06-01 Christophe Dumez <christophe.dumez@intel.com>
 2
 3 [EFL] EFL port does not enable WEB_INTENTS_TAG flag
 4 https://bugs.webkit.org/show_bug.cgi?id=86866
 5
 6 Reviewed by NOBODY (OOPS!).
 7
 8 Implement registerIntentService() in EFL's FrameLoaderClient.
 9 Emit a "intent,service,register" signal on the frame when a new Web
 10 Intent service registers.
 11
 12 * WebCoreSupport/FrameLoaderClientEfl.cpp:
 13 (WebCore):
 14 (WebCore::FrameLoaderClientEfl::registerIntentService):
 15 * WebCoreSupport/FrameLoaderClientEfl.h:
 16 (FrameLoaderClientEfl):
 17 * ewk/ewk_frame.cpp:
 18 (ewk_frame_intent_service_register):
 19 * ewk/ewk_frame.h:
 20 * ewk/ewk_frame_private.h:
 21
1222012-05-31 Alexander Shalamov <alexander.shalamov@intel.com>
223
324 [EFL] <input type="number"> is not a spinbutton

Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp

@@void FrameLoaderClientEfl::dispatchIntent(PassRefPtr<WebCore::IntentRequest> int
10051005}
10061006#endif
10071007
 1008#if ENABLE(WEB_INTENTS_TAG)
 1009void FrameLoaderClientEfl::registerIntentService(const String& action, const String& type, const KURL& href, const String& title, const String& disposition)
 1010{
 1011 CString actionStr = action.utf8();
 1012 CString typeStr = type.utf8();
 1013 CString hrefStr = href.string().utf8();
 1014 CString titleStr = title.utf8();
 1015 CString dispositionStr = disposition.utf8();
 1016
 1017 Ewk_Intent_Service_Info serviceInfo = { actionStr.data(), typeStr.data(), hrefStr.data(), titleStr.data(), dispositionStr.data() };
 1018
 1019 ewk_frame_intent_service_register(m_frame, &serviceInfo);
 1020}
 1021#endif
 1022
10081023PassRefPtr<FrameNetworkingContext> FrameLoaderClientEfl::createNetworkingContext()
10091024{
10101025 return FrameNetworkingContextEfl::create(EWKPrivate::coreFrame(m_frame), m_frame);

Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.h

@@class FrameLoaderClientEfl : public FrameLoaderClient {
188188#if ENABLE(WEB_INTENTS)
189189 virtual void dispatchIntent(PassRefPtr<WebCore::IntentRequest>);
190190#endif
 191#if ENABLE(WEB_INTENTS_TAG)
 192 virtual void registerIntentService(const String& action, const String& type, const KURL& href, const String& title, const String& disposition);
 193#endif
191194
192195 virtual WTF::PassRefPtr<DocumentLoader> createDocumentLoader(const ResourceRequest&, const SubstituteData&);
193196 virtual void setTitle(const StringWithDirection& title, const KURL&);

Source/WebKit/efl/ewk/ewk_frame.cpp

@@void ewk_frame_intent_new(Evas_Object* ewkFrame, Ewk_Intent_Request* request)
15591559
15601560/**
15611561 * @internal
 1562 * Reports an intent service registration.
 1563 *
 1564 * Emits signal: "intent,service,register" with pointer to a Ewk_Intent_Service_Info.
 1565 */
 1566void ewk_frame_intent_service_register(Evas_Object* ewkFrame, Ewk_Intent_Service_Info* info)
 1567{
 1568#if ENABLE(WEB_INTENTS_TAG)
 1569 evas_object_smart_callback_call(ewkFrame, "intent,service,register", info);
 1570#endif
 1571}
 1572
 1573/**
 1574 * @internal
15621575 *
15631576 * Reports contents size changed.
15641577 */

Source/WebKit/efl/ewk/ewk_frame.h

4141 * contents were changed
4242 * - "icon,changed", void: frame favicon changed.
4343 * - "intent,new", Ewk_Intent_Request*: reports new intent.
 44 * - "intent,service,register", Ewk_Intent_Service_Info*: reports new intent service registration.
4445 * - "load,committed", void: reports load committed.
4546 * - "load,document,finished", void: frame finished loading the document.
4647 * - "load,error", const Ewk_Frame_Load_Error*: reports load failed

@@struct _Ewk_Frame_Xss_Notification {
182183 Eina_Bool is_entire_page_blocked; /** < indicates if the entire page was blocked by XSSAuditor */
183184};
184185
 186/// Creates a type name for Ewk_Intent_Service_Info.
 187typedef struct _Ewk_Intent_Service_Info Ewk_Intent_Service_Info;
 188
 189struct _Ewk_Intent_Service_Info {
 190 const char *action; /**< an opaque string indicating the behavior class the service supports. */
 191 const char *type; /**< a string specifying the type of payload data the service can accept. */
 192 const char *href; /**< service URI. */
 193 const char *title; /**< A human-readable title for the service. */
 194 const char *disposition; /**< A hint about whether the service can be run "inline" or in a new "window". */
 195};
 196
185197/// Enum containing hit test data types
186198typedef enum {
187199 EWK_HIT_TEST_RESULT_CONTEXT_DOCUMENT = 1 << 1,

Source/WebKit/efl/ewk/ewk_frame_private.h

@@bool ewk_frame_uri_changed(Evas_Object* ewkFrame);
7070void ewk_frame_force_layout(Evas_Object* ewkFrame);
7171void ewk_frame_icon_changed(Evas_Object* ewkFrame);
7272void ewk_frame_intent_new(Evas_Object* ewkFrame, Ewk_Intent_Request* request);
 73void ewk_frame_intent_service_register(Evas_Object* ewkFrame, Ewk_Intent_Service_Info* info);
7374
7475WTF::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);
7576

Source/cmake/OptionsEfl.cmake

@@WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIBRATION ON)
8686WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIDEO ON)
8787WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIDEO_TRACK ON)
8888WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_INTENTS ON)
 89WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_INTENTS_TAG ON)
8990WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_TIMING ON)
9091WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WORKERS ON)
9192

Source/cmake/WebKitFeatures.cmake

@@MACRO (WEBKIT_OPTION_BEGIN)
9393 WEBKIT_OPTION_DEFINE(ENABLE_WEBGL "Toggle 3D canvas (WebGL) support" OFF)
9494 WEBKIT_OPTION_DEFINE(ENABLE_WEB_AUDIO "Toggle Web Audio support" OFF)
9595 WEBKIT_OPTION_DEFINE(ENABLE_WEB_INTENTS "Toggle Web Intents support" OFF)
 96 WEBKIT_OPTION_DEFINE(ENABLE_WEB_INTENTS_TAG "Toogle HTMLIntentElement tag support" OFF)
9697 WEBKIT_OPTION_DEFINE(ENABLE_WEB_SOCKETS "Toggle Web Sockets support" ON)
9798 WEBKIT_OPTION_DEFINE(ENABLE_WEB_TIMING "Toggle Web Timing support" OFF)
9899 WEBKIT_OPTION_DEFINE(ENABLE_WORKERS "Toggle Web Workers support" OFF)

Source/cmakeconfig.h.cmake

7575#cmakedefine01 ENABLE_WEBGL
7676#cmakedefine01 ENABLE_WEB_AUDIO
7777#cmakedefine01 ENABLE_WEB_INTENTS
 78#cmakedefine01 ENABLE_WEB_INTENTS_TAG
7879#cmakedefine01 ENABLE_WEB_SOCKETS
7980#cmakedefine01 ENABLE_WEB_TIMING
8081#cmakedefine01 ENABLE_WORKERS

Tools/ChangeLog

 12012-06-01 Christophe Dumez <christophe.dumez@intel.com>
 2
 3 [EFL] EFL port does not enable WEB_INTENTS_TAG flag
 4 https://bugs.webkit.org/show_bug.cgi?id=86866
 5
 6 Reviewed by NOBODY (OOPS!).
 7
 8 Catch new "intent,service,register" signal on the frame and print out
 9 information about the Web Intent service in EFL's DumpRenderTree.
 10
 11 * DumpRenderTree/efl/DumpRenderTreeChrome.cpp:
 12 (DumpRenderTreeChrome::createView):
 13 (DumpRenderTreeChrome::onFrameCreated):
 14 (DumpRenderTreeChrome::onFrameIntentServiceRegistration):
 15 * DumpRenderTree/efl/DumpRenderTreeChrome.h:
 16 (DumpRenderTreeChrome):
 17
1182012-06-01 Ryosuke Niwa <rniwa@webkit.org>
219
320 Add public page loading performance tests using web-page-replay

Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp

@@Evas_Object* DumpRenderTreeChrome::createView() const
116116 Evas_Object* mainFrame = ewk_view_frame_main_get(view);
117117 evas_object_smart_callback_add(mainFrame, "icon,changed", onFrameIconChanged, 0);
118118 evas_object_smart_callback_add(mainFrame, "intent,new", onFrameIntentNew, 0);
 119 evas_object_smart_callback_add(mainFrame, "intent,service,register", onFrameIntentServiceRegistration, 0);
119120 evas_object_smart_callback_add(mainFrame, "load,provisional", onFrameProvisionalLoad, 0);
120121 evas_object_smart_callback_add(mainFrame, "load,provisional,failed", onFrameProvisionalLoadFailed, 0);
121122 evas_object_smart_callback_add(mainFrame, "load,committed", onFrameLoadCommitted, 0);

@@void DumpRenderTreeChrome::onFrameCreated(void*, Evas_Object*, void* eventInfo)
536537
537538 evas_object_smart_callback_add(frame, "icon,changed", onFrameIconChanged, 0);
538539 evas_object_smart_callback_add(frame, "intent,new", onFrameIntentNew, 0);
 540 evas_object_smart_callback_add(frame, "intent,service,register", onFrameIntentServiceRegistration, 0);
539541 evas_object_smart_callback_add(frame, "load,provisional", onFrameProvisionalLoad, 0);
540542 evas_object_smart_callback_add(frame, "load,provisional,failed", onFrameProvisionalLoadFailed, 0);
541543 evas_object_smart_callback_add(frame, "load,committed", onFrameLoadCommitted, 0);

@@void DumpRenderTreeChrome::onFrameIntentNew(void*, Evas_Object*, void* eventInfo
732734 free(data);
733735 }
734736}
 737
 738void DumpRenderTreeChrome::onFrameIntentServiceRegistration(void*, Evas_Object*, void* eventInfo)
 739{
 740 Ewk_Intent_Service_Info* serviceInfo = static_cast<Ewk_Intent_Service_Info*>(eventInfo);
 741 printf("Registered Web Intent Service: action=%s type=%s title=%s url=%s disposition=%s\n",
 742 serviceInfo->action,
 743 serviceInfo->type,
 744 serviceInfo->title,
 745 serviceInfo->href,
 746 serviceInfo->disposition);
 747}

Tools/DumpRenderTree/efl/DumpRenderTreeChrome.h

@@private:
122122 static void onNewResourceRequest(void*, Evas_Object*, void*);
123123
124124 static void onFrameIntentNew(void*, Evas_Object*, void*);
 125 static void onFrameIntentServiceRegistration(void*, Evas_Object*, void*);
125126};
126127
127128#endif // DumpRenderTreeChrome_h