Title: [120144] trunk
Revision
120144
Author
[email protected]
Date
2012-06-12 17:28:03 -0700 (Tue, 12 Jun 2012)

Log Message

[EFL] Enable SHADOW_DOM flag
https://bugs.webkit.org/show_bug.cgi?id=87732

Patch by Christophe Dumez <[email protected]> on 2012-06-12
Reviewed by Kentaro Hara.

.:

Enable SHADOW_DOM flag by default at compile time for EFL port.

* Source/autotools/symbols.filter: Fix GTK build by adding new symbol.
* Source/cmake/OptionsEfl.cmake:
* Source/cmakeconfig.h.cmake:

Source/WebCore:

Test: fast/dom/shadow/shadow-root-innerHTML.html

* dom/ShadowRoot.idl: Add JSGenerateToJSObject extended attribute so
that the ShadowRoot properties are accessible on JS side.
* testing/Internals.idl: Fix SHADOW_DOM ifdef check.

Source/WebKit:

Add WebCore/bindings/generic to include directories so
that we can include RuntimeEnabledFeatures.h.

* CMakeLists.txt:

Source/WebKit/efl:

Add Ewk setting to toggle Shadow DOM support at runtime.

* ewk/ewk_settings.cpp:
(ewk_settings_shadow_dom_enable_get):
(ewk_settings_shadow_dom_enable_set):
* ewk/ewk_settings.h:

Tools:

* DumpRenderTree/efl/DumpRenderTreeChrome.cpp:
(DumpRenderTreeChrome::resetDefaultsToConsistentValues): Enable
SHADOW_DOM by default in DRT.
* DumpRenderTree/efl/DumpRenderTreeView.cpp:
(onFocusCanCycle): Enable focus cycling in EFL DRT to behave like
Chromium and Mac ports.
(drtViewAdd):
* Scripts/webkitperl/FeatureList.pm: Enable SHADOW_DOM flag by default
at compile time for EFL port.

LayoutTests:

Unskip most of the test cases associated to Shadow DOM now that the
feature is enabled by default for EFL's DRT.

* platform/efl/Skipped:
* platform/efl/TestExpectations:
* platform/efl/fast/dom/shadow/form-in-shadow-expected.txt: Added.
* platform/efl/fast/dom/shadow/tab-order-iframe-and-shadow-expected.txt: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/ChangeLog (120143 => 120144)


--- trunk/ChangeLog	2012-06-13 00:23:49 UTC (rev 120143)
+++ trunk/ChangeLog	2012-06-13 00:28:03 UTC (rev 120144)
@@ -1,5 +1,18 @@
 2012-06-12  Christophe Dumez  <[email protected]>
 
+        [EFL] Enable SHADOW_DOM flag
+        https://bugs.webkit.org/show_bug.cgi?id=87732
+
+        Reviewed by Kentaro Hara.
+
+        Enable SHADOW_DOM flag by default at compile time for EFL port.
+
+        * Source/autotools/symbols.filter: Fix GTK build by adding new symbol.
+        * Source/cmake/OptionsEfl.cmake:
+        * Source/cmakeconfig.h.cmake:
+
+2012-06-12  Christophe Dumez  <[email protected]>
+
         [EFL] enable LEGACY_WEBKIT_BLOB_BUILDER flag
         https://bugs.webkit.org/show_bug.cgi?id=88715
 

Modified: trunk/LayoutTests/ChangeLog (120143 => 120144)


--- trunk/LayoutTests/ChangeLog	2012-06-13 00:23:49 UTC (rev 120143)
+++ trunk/LayoutTests/ChangeLog	2012-06-13 00:28:03 UTC (rev 120144)
@@ -1,3 +1,18 @@
+2012-06-12  Christophe Dumez  <[email protected]>
+
+        [EFL] Enable SHADOW_DOM flag
+        https://bugs.webkit.org/show_bug.cgi?id=87732
+
+        Reviewed by Kentaro Hara.
+
+        Unskip most of the test cases associated to Shadow DOM now that the
+        feature is enabled by default for EFL's DRT.
+
+        * platform/efl/Skipped:
+        * platform/efl/TestExpectations:
+        * platform/efl/fast/dom/shadow/form-in-shadow-expected.txt: Added.
+        * platform/efl/fast/dom/shadow/tab-order-iframe-and-shadow-expected.txt: Added.
+
 2012-06-12  Ojan Vafai  <[email protected]>
 
         Add some expecations to green the chromium tree while the bugs are resolved.

Modified: trunk/LayoutTests/platform/efl/Skipped (120143 => 120144)


--- trunk/LayoutTests/platform/efl/Skipped	2012-06-13 00:23:49 UTC (rev 120143)
+++ trunk/LayoutTests/platform/efl/Skipped	2012-06-13 00:28:03 UTC (rev 120144)
@@ -100,10 +100,6 @@
 # EFL's LayoutTestController does not implement setMediaType
 fast/media/print-restores-previous-mediatype.html
 
-# ENABLE(SHADOW_DOM) is disabled
-fast/dom/shadow
-editing/shadow
-
 # ENABLE(DATALIST) is disabled
 fast/forms/datalist
 
@@ -757,23 +753,6 @@
 # Tests for features under development
 # ------------------------------------
 
-# ENABLE(SHADOW_DOM) is disabled.
-fast/dom/shadow/content-element-outside-shadow-style.html
-fast/dom/shadow/content-element-in-media-element.html
-fast/dom/shadow/content-element-in-meter-element.html
-fast/dom/shadow/get-element-by-id-in-shadow-root.html
-fast/dom/shadow/shadow-root-js-api.html
-fast/dom/shadow/shadow-disable.html
-fast/dom/shadow/shadow-dom-event-dispatching.html
-fast/dom/shadow/shadow-root-attached.html
-fast/dom/shadow/shadow-root-new.html
-fast/dom/shadow/shadow-root-append.html
-fast/dom/shadow/shadow-element-rendering-single.html
-fast/dom/shadow/shadow-element-rendering-multiple.html
-fast/dom/shadow/multiple-shadowroot.html
-fast/dom/shadow/multiple-shadowroot-rendering.html
-fast/dom/shadow/multiple-shadowroot-adopt.html
-
 # ENABLE_INPUT_TYPE_* are not enabled.
 # https://bugs.webkit.org/show_bug.cgi?id=29359
 # https://bugs.webkit.org/show_bug.cgi?id=68971

Modified: trunk/LayoutTests/platform/efl/TestExpectations (120143 => 120144)


--- trunk/LayoutTests/platform/efl/TestExpectations	2012-06-13 00:23:49 UTC (rev 120143)
+++ trunk/LayoutTests/platform/efl/TestExpectations	2012-06-13 00:28:03 UTC (rev 120144)
@@ -96,6 +96,8 @@
 BUGWK86623 : editing/pasteboard/drop-link.html = TEXT
 BUGWK86623 : editing/pasteboard/drop-text-events.html = TEXT
 BUGWK86623 : editing/pasteboard/get-data-text-plain-drop.html = TEXT
+BUGWK86623 : fast/dom/shadow/drop-event-for-input-in-shadow.html = TEXT
+BUGWK86623 : fast/dom/shadow/drop-event-in-shadow.html = TEXT
 BUGWK86623 : http/tests/local/fileapi/file-last-modified-after-delete.html = TEXT
 
 BUGWK88198 : svg/stroke/non-scaling-stroke-pattern.svg = PASS IMAGE
@@ -159,10 +161,6 @@
 // FAILING TESTS
 //////////////////////////////////////////////////////////////////////////////////////////
 
-// Needs ENABLE_SHADOW_DOM
-BUGWK76439 DEBUG : fast/dom/shadow/content-element-api.html = TEXT
-BUGWK76439 DEBUG : fast/dom/shadow/content-element-outside-shadow.html = TEXT
-
 // Needs inner spin button to respect -webkit-inner-spin-button style
 BUGWK87619 : fast/forms/number/input-appearance-number-rtl.html = TEXT
 BUGWK87619 : fast/forms/number/input-appearance-spinbutton-disabled-readonly.html = TEXT
@@ -549,8 +547,6 @@
 BUGWK84835 : editing/execCommand/findString-diacriticals.html = TEXT
 BUGWK84835 : editing/execCommand/indent-paragraphs.html = TEXT
 
-BUGWK86961 : editing/execCommand/paste-and-match-style-event.html = CRASH
-
 // DRT doesn't check for isPrinting().
 BUGWK87226 : printing/iframe-print.html = TEXT
 BUGWK87226 : printing/media-queries-print.html = MISSING
@@ -627,6 +623,7 @@
 BUGWK86091 : fast/events/selectstart-prevent-selection-on-right-click.html = TEXT
 BUGWK86091 : media/context-menu-actions.html = TEXT
 BUGWK86091 : media/controls-right-click-on-timebar.html = TEXT
+BUGWK86091 : editing/shadow/rightclick-on-meter-in-shadow-crash.html = TEXT
 
 // EFL's EventSender contextClick, needs baselines
 BUGWK86091 : editing/selection/5354455-2.html = MISSING
@@ -645,6 +642,13 @@
 BUGWK86187 : media/media-fullscreen-not-in-document.html = TEXT
 BUGWK86187 SKIP : media/media-fullscreen-inline.html = PASS
 
+// ecore_x library is not initialized and calls to it cause crashes
+BUGWK86961 : editing/execCommand/paste-and-match-style-event.html = CRASH
+BUGWK86961 : fast/dom/shadow/cppevent-in-shadow.html = CRASH
+
+// Selection problem in Shadow DOM test (passes on GTK)
+BUGWKEFL : fast/dom/shadow/selections-in-shadow.html = TEXT
+
 // This test is specific to QuickTime media engine.
 BUGWKEFL SKIP : media/video-does-not-loop.html = PASS
 

Added: trunk/LayoutTests/platform/efl/fast/dom/shadow/form-in-shadow-expected.txt (0 => 120144)


--- trunk/LayoutTests/platform/efl/fast/dom/shadow/form-in-shadow-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/platform/efl/fast/dom/shadow/form-in-shadow-expected.txt	2012-06-13 00:28:03 UTC (rev 120144)
@@ -0,0 +1,10 @@
+PASS obj.hidden is 'hidden'
+PASS obj.text is 'text'
+PASS obj.checkbox1 is 'on'
+PASS obj.checkbox2 is undefined.
+PASS obj.range is '50'
+PASS obj.textarea is 'textarea'
+PASS successfullyParsed is true
+
+TEST COMPLETE
+

Added: trunk/LayoutTests/platform/efl/fast/dom/shadow/tab-order-iframe-and-shadow-expected.txt (0 => 120144)


--- trunk/LayoutTests/platform/efl/fast/dom/shadow/tab-order-iframe-and-shadow-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/platform/efl/fast/dom/shadow/tab-order-iframe-and-shadow-expected.txt	2012-06-13 00:28:03 UTC (rev 120144)
@@ -0,0 +1,57 @@
+CONSOLE MESSAGE: line 104: ReferenceError: Can't find variable: log
+This tests that pressing Tab key should traverse into iframe and shadow tree, and pressing Shift-Tab should reverse the order.
+
+Should move from input-01 to input-13 in forward
+PASS
+Should move from input-13 to input-15 in forward
+PASS
+Should move from input-15 to input-02 in forward
+PASS
+Should move from input-02 to host-01/input-03 in forward
+PASS
+Should move from host-01/input-03 to input-04 in forward
+PASS
+Should move from input-04 to iframe/input-06 in forward
+PASS
+Should move from iframe/input-06 to iframe/host-02 in forward
+PASS
+Should move from iframe/host-02 to iframe/host-02/input-09 in forward
+PASS
+Should move from iframe/host-02/input-09 to iframe/host-02/input-08 in forward
+PASS
+Should move from iframe/host-02/input-08 to iframe/input-12 in forward
+PASS
+Should move from iframe/input-12 to iframe/input-11 in forward
+PASS
+Should move from iframe/input-11 to iframe/input-05 in forward
+PASS
+Should move from iframe/input-05 to input-14 in forward
+PASS
+Should move from input-14 to iframe/input-05 in backward
+PASS
+Should move from iframe/input-05 to iframe/input-11 in backward
+PASS
+Should move from iframe/input-11 to iframe/input-12 in backward
+PASS
+Should move from iframe/input-12 to iframe/host-02/input-08 in backward
+PASS
+Should move from iframe/host-02/input-08 to iframe/host-02/input-09 in backward
+PASS
+Should move from iframe/host-02/input-09 to iframe/host-02 in backward
+PASS
+Should move from iframe/host-02 to iframe/input-06 in backward
+PASS
+Should move from iframe/input-06 to input-04 in backward
+PASS
+Should move from input-04 to host-01/input-03 in backward
+PASS
+Should move from host-01/input-03 to input-02 in backward
+PASS
+Should move from input-02 to input-15 in backward
+PASS
+Should move from input-15 to input-13 in backward
+PASS
+Should move from input-13 to input-01 in backward
+PASS
+
+

Modified: trunk/Source/WebCore/ChangeLog (120143 => 120144)


--- trunk/Source/WebCore/ChangeLog	2012-06-13 00:23:49 UTC (rev 120143)
+++ trunk/Source/WebCore/ChangeLog	2012-06-13 00:28:03 UTC (rev 120144)
@@ -1,3 +1,16 @@
+2012-06-12  Christophe Dumez  <[email protected]>
+
+        [EFL] Enable SHADOW_DOM flag
+        https://bugs.webkit.org/show_bug.cgi?id=87732
+
+        Reviewed by Kentaro Hara.
+
+        Test: fast/dom/shadow/shadow-root-innerHTML.html
+
+        * dom/ShadowRoot.idl: Add JSGenerateToJSObject extended attribute so
+        that the ShadowRoot properties are accessible on JS side.
+        * testing/Internals.idl: Fix SHADOW_DOM ifdef check.
+
 2012-06-12  Leo Yang  <[email protected]>
 
         Dynamic hash table in DOMObjectHashTableMap is wrong in multiple threads

Modified: trunk/Source/WebCore/dom/ShadowRoot.idl (120143 => 120144)


--- trunk/Source/WebCore/dom/ShadowRoot.idl	2012-06-13 00:23:49 UTC (rev 120143)
+++ trunk/Source/WebCore/dom/ShadowRoot.idl	2012-06-13 00:28:03 UTC (rev 120144)
@@ -29,7 +29,8 @@
     interface [
         Conditional=SHADOW_DOM,
         Constructor(in Element host),
-        ConstructorRaisesException
+        ConstructorRaisesException,
+        JSGenerateToJSObject
     ] ShadowRoot : DocumentFragment {
         readonly attribute Element host;
         readonly attribute Element activeElement;

Modified: trunk/Source/WebCore/testing/Internals.idl (120143 => 120144)


--- trunk/Source/WebCore/testing/Internals.idl	2012-06-13 00:23:49 UTC (rev 120143)
+++ trunk/Source/WebCore/testing/Internals.idl	2012-06-13 00:28:03 UTC (rev 120144)
@@ -34,7 +34,7 @@
 
         unsigned long numberOfScopedHTMLStyleChildren(in Node scope) raises(DOMException);
 
-#if defined(ENABLE_SHADOW_DOM)
+#if defined(ENABLE_SHADOW_DOM) && ENABLE_SHADOW_DOM
         ShadowRoot ensureShadowRoot(in Element host) raises (DOMException);
         ShadowRoot shadowRoot(in Element host) raises (DOMException);
         ShadowRoot youngestShadowRoot(in Element host) raises (DOMException);

Modified: trunk/Source/WebKit/CMakeLists.txt (120143 => 120144)


--- trunk/Source/WebKit/CMakeLists.txt	2012-06-13 00:23:49 UTC (rev 120143)
+++ trunk/Source/WebKit/CMakeLists.txt	2012-06-13 00:28:03 UTC (rev 120144)
@@ -4,6 +4,7 @@
     "${WEBCORE_DIR}/Modules/intents"
     "${WEBCORE_DIR}/Modules/webdatabase"
     "${WEBCORE_DIR}/accessibility"
+    "${WEBCORE_DIR}/bindings/generic"
     "${WEBCORE_DIR}/bindings/js"
     "${WEBCORE_DIR}/bindings"
     "${WEBCORE_DIR}/bridge"

Modified: trunk/Source/WebKit/ChangeLog (120143 => 120144)


--- trunk/Source/WebKit/ChangeLog	2012-06-13 00:23:49 UTC (rev 120143)
+++ trunk/Source/WebKit/ChangeLog	2012-06-13 00:28:03 UTC (rev 120144)
@@ -1,3 +1,15 @@
+2012-06-12  Christophe Dumez  <[email protected]>
+
+        [EFL] Enable SHADOW_DOM flag
+        https://bugs.webkit.org/show_bug.cgi?id=87732
+
+        Reviewed by Kentaro Hara.
+
+        Add WebCore/bindings/generic to include directories so
+        that we can include RuntimeEnabledFeatures.h.
+
+        * CMakeLists.txt:
+
 2012-06-04  Tor Arne Vestbø  <[email protected]>
 
         [Qt] Don't use WebKit HAVE() macro in public Qt headers

Modified: trunk/Source/WebKit/efl/ChangeLog (120143 => 120144)


--- trunk/Source/WebKit/efl/ChangeLog	2012-06-13 00:23:49 UTC (rev 120143)
+++ trunk/Source/WebKit/efl/ChangeLog	2012-06-13 00:28:03 UTC (rev 120144)
@@ -1,3 +1,17 @@
+2012-06-12  Christophe Dumez  <[email protected]>
+
+        [EFL] Enable SHADOW_DOM flag
+        https://bugs.webkit.org/show_bug.cgi?id=87732
+
+        Reviewed by Kentaro Hara.
+
+        Add Ewk setting to toggle Shadow DOM support at runtime.
+
+        * ewk/ewk_settings.cpp:
+        (ewk_settings_shadow_dom_enable_get):
+        (ewk_settings_shadow_dom_enable_set):
+        * ewk/ewk_settings.h:
+
 2012-06-11  Kaustubh Atrawalkar  <[email protected]>
 
         [DRT] LTC:: counterValueForElementById() could be moved to Internals.

Modified: trunk/Source/WebKit/efl/ewk/ewk_settings.cpp (120143 => 120144)


--- trunk/Source/WebKit/efl/ewk/ewk_settings.cpp	2012-06-13 00:23:49 UTC (rev 120143)
+++ trunk/Source/WebKit/efl/ewk/ewk_settings.cpp	2012-06-13 00:28:03 UTC (rev 120144)
@@ -1,6 +1,7 @@
 /*
     Copyright (C) 2009-2010 ProFUSION embedded systems
     Copyright (C) 2009-2010 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
@@ -33,6 +34,7 @@
 #include "KURL.h"
 #include "MemoryCache.h"
 #include "PageCache.h"
+#include "RuntimeEnabledFeatures.h"
 #include "Settings.h"
 #include "ewk_private.h"
 #include "ewk_util_private.h"
@@ -248,6 +250,26 @@
     WebCore::memoryCache()->setDisabled(!enable);
 }
 
+Eina_Bool ewk_settings_shadow_dom_enable_get()
+{
+#if ENABLE(SHADOW_DOM)
+    return WebCore::RuntimeEnabledFeatures::shadowDOMEnabled();
+#else
+    return false;
+#endif
+}
+
+Eina_Bool ewk_settings_shadow_dom_enable_set(Eina_Bool enable)
+{
+#if ENABLE(SHADOW_DOM)
+    enable = !!enable;
+    WebCore::RuntimeEnabledFeatures::setShadowDOMEnabled(enable);
+    return true;
+#else
+    return false;
+#endif
+}
+
 unsigned ewk_settings_page_cache_capacity_get()
 {
     return WebCore::pageCache()->capacity();

Modified: trunk/Source/WebKit/efl/ewk/ewk_settings.h (120143 => 120144)


--- trunk/Source/WebKit/efl/ewk/ewk_settings.h	2012-06-13 00:23:49 UTC (rev 120143)
+++ trunk/Source/WebKit/efl/ewk/ewk_settings.h	2012-06-13 00:28:03 UTC (rev 120144)
@@ -1,6 +1,7 @@
 /*
     Copyright (C) 2009-2010 ProFUSION embedded systems
     Copyright (C) 2009-2010 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
@@ -278,6 +279,34 @@
 EAPI void             ewk_settings_object_cache_enable_set(Eina_Bool set);
 
 /**
+ * Returns whether Shadow DOM is enabled.
+ *
+ * Shadow DOM is a method of establishing and maintaining functional boundaries between
+ * DOM subtrees and how these subtrees interact with each other within a document tree,
+ * thus enabling better functional encapsulation within DOM.
+ *
+ * By default, Shadow DOM is disabled.
+ *
+ * @return @c EINA_TRUE if Shadow DOM is enabled or @c EINA_FALSE if not
+ *
+ * @sa ewk_settings_shadow_dom_enable_set
+ */
+EAPI Eina_Bool    ewk_settings_shadow_dom_enable_get(void);
+
+/**
+ * Enables/disables Shadow DOM functionality.
+ *
+ * Shadow DOM is a method of establishing and maintaining functional boundaries between
+ * DOM subtrees and how these subtrees interact with each other within a document tree,
+ * thus enabling better functional encapsulation within DOM.
+ *
+ * By default, Shadow DOM is disabled.
+ *
+ * @param set @c EINA_TRUE to enable Shadow DOM, @c EINA_FALSE to disable
+ */
+EAPI Eina_Bool    ewk_settings_shadow_dom_enable_set(Eina_Bool enable);
+
+/**
  * Defines the capacities for the in-memory object cache.
  *
  * The object cache is responsible for holding resources such as scripts, stylesheets

Modified: trunk/Source/autotools/symbols.filter (120143 => 120144)


--- trunk/Source/autotools/symbols.filter	2012-06-13 00:23:49 UTC (rev 120143)
+++ trunk/Source/autotools/symbols.filter	2012-06-13 00:28:03 UTC (rev 120144)
@@ -31,6 +31,7 @@
 _ZN7WebCore4Page18setPageScaleFactorEfRKNS_8IntPointE;
 _ZN7WebCore4Page20setDeviceScaleFactorEf;
 _ZN7WebCore4toJSEPN3JSC9ExecStateEPNS_17JSDOMGlobalObjectEPNS_10ClientRectE;
+_ZN7WebCore4toJSEPN3JSC9ExecStateEPNS_17JSDOMGlobalObjectEPNS_10ShadowRootE;
 _ZN7WebCore4toJSEPN3JSC9ExecStateEPNS_17JSDOMGlobalObjectEPNS_14ClientRectListE;
 _ZN7WebCore4toJSEPN3JSC9ExecStateEPNS_17JSDOMGlobalObjectEPNS_5RangeE;
 _ZN7WebCore5Range6createEN3WTF10PassRefPtrINS_8DocumentEEENS2_INS_4NodeEEEiS6_i;

Modified: trunk/Source/cmake/OptionsEfl.cmake (120143 => 120144)


--- trunk/Source/cmake/OptionsEfl.cmake	2012-06-13 00:23:49 UTC (rev 120143)
+++ trunk/Source/cmake/OptionsEfl.cmake	2012-06-13 00:28:03 UTC (rev 120144)
@@ -81,6 +81,7 @@
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_PAGE_VISIBILITY_API ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_REGISTER_PROTOCOL_HANDLER ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_REQUEST_ANIMATION_FRAME ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SHADOW_DOM ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SHARED_WORKERS ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_TOUCH_EVENTS ON)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIBRATION ON)

Modified: trunk/Source/cmakeconfig.h.cmake (120143 => 120144)


--- trunk/Source/cmakeconfig.h.cmake	2012-06-13 00:23:49 UTC (rev 120143)
+++ trunk/Source/cmakeconfig.h.cmake	2012-06-13 00:28:03 UTC (rev 120144)
@@ -64,6 +64,7 @@
 #cmakedefine01 ENABLE_PROGRESS_TAG
 #cmakedefine01 ENABLE_REGISTER_PROTOCOL_HANDLER
 #cmakedefine01 ENABLE_REQUEST_ANIMATION_FRAME
+#cmakedefine01 ENABLE_SHADOW_DOM
 #cmakedefine01 ENABLE_SHARED_WORKERS
 #cmakedefine01 ENABLE_SMOOTH_SCROLLING
 #cmakedefine01 ENABLE_SQL_DATABASE

Modified: trunk/Tools/ChangeLog (120143 => 120144)


--- trunk/Tools/ChangeLog	2012-06-13 00:23:49 UTC (rev 120143)
+++ trunk/Tools/ChangeLog	2012-06-13 00:28:03 UTC (rev 120144)
@@ -1,3 +1,20 @@
+2012-06-12  Christophe Dumez  <[email protected]>
+
+        [EFL] Enable SHADOW_DOM flag
+        https://bugs.webkit.org/show_bug.cgi?id=87732
+
+        Reviewed by Kentaro Hara.
+
+        * DumpRenderTree/efl/DumpRenderTreeChrome.cpp:
+        (DumpRenderTreeChrome::resetDefaultsToConsistentValues): Enable
+        SHADOW_DOM by default in DRT.
+        * DumpRenderTree/efl/DumpRenderTreeView.cpp:
+        (onFocusCanCycle): Enable focus cycling in EFL DRT to behave like
+        Chromium and Mac ports.
+        (drtViewAdd):
+        * Scripts/webkitperl/FeatureList.pm: Enable SHADOW_DOM flag by default
+        at compile time for EFL port.
+
 2012-06-12  Ashod Nakashian  <[email protected]>
 
         WinLauncher should show loading errors

Modified: trunk/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp (120143 => 120144)


--- trunk/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp	2012-06-13 00:23:49 UTC (rev 120143)
+++ trunk/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp	2012-06-13 00:28:03 UTC (rev 120144)
@@ -217,6 +217,7 @@
 
     ewk_settings_memory_cache_clear();
     ewk_settings_application_cache_clear();
+    ewk_settings_shadow_dom_enable_set(EINA_TRUE);
 
     ewk_view_setting_private_browsing_set(mainView(), EINA_FALSE);
     ewk_view_setting_spatial_navigation_set(mainView(), EINA_FALSE);

Modified: trunk/Tools/DumpRenderTree/efl/DumpRenderTreeView.cpp (120143 => 120144)


--- trunk/Tools/DumpRenderTree/efl/DumpRenderTreeView.cpp	2012-06-13 00:23:49 UTC (rev 120143)
+++ trunk/Tools/DumpRenderTree/efl/DumpRenderTreeView.cpp	2012-06-13 00:28:03 UTC (rev 120144)
@@ -189,6 +189,12 @@
     return policyDelegatePermissive;
 }
 
+static Eina_Bool onFocusCanCycle(Ewk_View_Smart_Data*, Ewk_Focus_Direction)
+{
+    // This is the behavior of Mac and Chromium ports and is expected by some test cases.
+    return true;
+}
+
 Evas_Object* drtViewAdd(Evas* evas)
 {
     static Ewk_View_Smart_Class api = EWK_VIEW_SMART_CLASS_INIT_NAME_VERSION("DRT_View");
@@ -208,6 +214,7 @@
     api.exceeded_application_cache_quota = onExceededApplicationCacheQuota;
     api.exceeded_database_quota = onExceededDatabaseQuota;
     api.navigation_policy_decision = onNavigationPolicyDecision;
+    api.focus_can_cycle = onFocusCanCycle;
 
     return evas_object_smart_add(evas, evas_smart_class_new(&api.sc));
 }

Modified: trunk/Tools/Scripts/webkitperl/FeatureList.pm (120143 => 120144)


--- trunk/Tools/Scripts/webkitperl/FeatureList.pm	2012-06-13 00:23:49 UTC (rev 120143)
+++ trunk/Tools/Scripts/webkitperl/FeatureList.pm	2012-06-13 00:28:03 UTC (rev 120144)
@@ -324,7 +324,7 @@
       define => "ENABLE_SCRIPTED_SPEECH", default => 0, value => \$scriptedSpeechSupport },
 
     { option => "shadow-dom", desc => "Toggle Shadow DOM support",
-      define => "ENABLE_SHADOW_DOM", default => isGtk(), value => \$shadowDOMSupport },
+      define => "ENABLE_SHADOW_DOM", default => (isGtk() || isEfl()), value => \$shadowDOMSupport },
 
     { option => "shared-workers", desc => "Toggle Shared Workers support",
       define => "ENABLE_SHARED_WORKERS", default => (isAppleWebKit() || isGtk() || isBlackBerry() || isEfl()), value => \$sharedWorkersSupport },
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to