Title: [116633] trunk
Revision
116633
Author
[email protected]
Date
2012-05-10 05:28:18 -0700 (Thu, 10 May 2012)

Log Message

[EFL] LayoutTestController needs implementation of setTabKeyCyclesThroughElements
https://bugs.webkit.org/show_bug.cgi?id=82864

Patch by Alexander Shalamov <[email protected]> on 2012-05-10
Reviewed by Gustavo Noronha Silva.

Source/WebKit/efl:

Add missing implementation for setTabKeyCyclesThroughElements to EFL's
DumpRenderTreeSupport.

* WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
(DumpRenderTreeSupportEfl::setTabKeyCyclesThroughElements):
* WebCoreSupport/DumpRenderTreeSupportEfl.h:

Tools:

Add missing implementation for setTabKeyCyclesThroughElements to EFL's LayoutTestController
in order to unskip fast/events/keypress-insert-tab.html

* DumpRenderTree/efl/EventSender.cpp:
(keyDownCallback):
* DumpRenderTree/efl/LayoutTestControllerEfl.cpp:
(LayoutTestController::setTabKeyCyclesThroughElements):

LayoutTests:

Unskip fast/events/keypress-insert-tab.html

* platform/efl/Skipped:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (116632 => 116633)


--- trunk/LayoutTests/ChangeLog	2012-05-10 12:20:04 UTC (rev 116632)
+++ trunk/LayoutTests/ChangeLog	2012-05-10 12:28:18 UTC (rev 116633)
@@ -1,5 +1,16 @@
 2012-05-10  Alexander Shalamov  <[email protected]>
 
+        [EFL] LayoutTestController needs implementation of setTabKeyCyclesThroughElements
+        https://bugs.webkit.org/show_bug.cgi?id=82864
+
+        Reviewed by Gustavo Noronha Silva.
+
+        Unskip fast/events/keypress-insert-tab.html
+
+        * platform/efl/Skipped:
+
+2012-05-10  Alexander Shalamov  <[email protected]>
+
         [EFL][DRT] EventSender - set delayed event information if it was not set before
         https://bugs.webkit.org/show_bug.cgi?id=85972
 

Modified: trunk/LayoutTests/platform/efl/Skipped (116632 => 116633)


--- trunk/LayoutTests/platform/efl/Skipped	2012-05-10 12:20:04 UTC (rev 116632)
+++ trunk/LayoutTests/platform/efl/Skipped	2012-05-10 12:28:18 UTC (rev 116633)
@@ -249,9 +249,6 @@
 editing/selection/selection-background.html
 fast/dom/Window/window-onFocus.html
 
-# EFL's LayoutTestController does not implement setTabKeyCyclesThroughElements
-fast/events/keypress-insert-tab.html
-
 # EFL's LayoutTestController does not implement setUseDashboardCompatibilityMode
 fast/canvas/canvas-gradient-addStop-error.html
 fast/canvas/fill-stroke-clip-reset-path.html

Modified: trunk/Source/WebKit/efl/ChangeLog (116632 => 116633)


--- trunk/Source/WebKit/efl/ChangeLog	2012-05-10 12:20:04 UTC (rev 116632)
+++ trunk/Source/WebKit/efl/ChangeLog	2012-05-10 12:28:18 UTC (rev 116633)
@@ -1,3 +1,17 @@
+2012-05-10  Alexander Shalamov  <[email protected]>
+
+        [EFL] LayoutTestController needs implementation of setTabKeyCyclesThroughElements
+        https://bugs.webkit.org/show_bug.cgi?id=82864
+
+        Reviewed by Gustavo Noronha Silva.
+
+        Add missing implementation for setTabKeyCyclesThroughElements to EFL's
+        DumpRenderTreeSupport.
+
+        * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
+        (DumpRenderTreeSupportEfl::setTabKeyCyclesThroughElements):
+        * WebCoreSupport/DumpRenderTreeSupportEfl.h:
+
 2012-05-10  Mikhail Pozdnyakov  <[email protected]>
 
         [EFL][DRT] Clear added user style sheets before a new testcase execution.

Modified: trunk/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp (116632 => 116633)


--- trunk/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp	2012-05-10 12:20:04 UTC (rev 116632)
+++ trunk/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp	2012-05-10 12:28:18 UTC (rev 116633)
@@ -478,6 +478,15 @@
     editorClient->setSelectTrailingWhitespaceEnabled(enabled);
 }
 
+void DumpRenderTreeSupportEfl::setTabKeyCyclesThroughElements(const Evas_Object* ewkView, bool cycles)
+{
+    WebCore::Page* page = EWKPrivate::corePage(ewkView);
+    if (!page)
+        return;
+
+    page->setTabKeyCyclesThroughElements(cycles);
+}
+
 void DumpRenderTreeSupportEfl::garbageCollectorCollect()
 {
     WebCore::gcController().garbageCollectNow();

Modified: trunk/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.h (116632 => 116633)


--- trunk/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.h	2012-05-10 12:20:04 UTC (rev 116632)
+++ trunk/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.h	2012-05-10 12:28:18 UTC (rev 116633)
@@ -80,6 +80,7 @@
     static void setJavaScriptProfilingEnabled(const Evas_Object* ewkView, bool enabled);
     static void setSmartInsertDeleteEnabled(Evas_Object* ewkView, bool enabled);
     static void setSelectTrailingWhitespaceEnabled(Evas_Object* ewkView, bool enabled);
+    static void setTabKeyCyclesThroughElements(const Evas_Object* ewkView, bool cycles);
 
     static void garbageCollectorCollect();
     static void garbageCollectorCollectOnAlternateThread(bool waitUntilDone);

Modified: trunk/Tools/ChangeLog (116632 => 116633)


--- trunk/Tools/ChangeLog	2012-05-10 12:20:04 UTC (rev 116632)
+++ trunk/Tools/ChangeLog	2012-05-10 12:28:18 UTC (rev 116633)
@@ -1,5 +1,20 @@
 2012-05-10  Alexander Shalamov  <[email protected]>
 
+        [EFL] LayoutTestController needs implementation of setTabKeyCyclesThroughElements
+        https://bugs.webkit.org/show_bug.cgi?id=82864
+
+        Reviewed by Gustavo Noronha Silva.
+
+        Add missing implementation for setTabKeyCyclesThroughElements to EFL's LayoutTestController
+        in order to unskip fast/events/keypress-insert-tab.html
+
+        * DumpRenderTree/efl/EventSender.cpp:
+        (keyDownCallback):
+        * DumpRenderTree/efl/LayoutTestControllerEfl.cpp:
+        (LayoutTestController::setTabKeyCyclesThroughElements):
+
+2012-05-10  Alexander Shalamov  <[email protected]>
+
         [EFL][DRT] EventSender - set delayed event information if it was not set before
         https://bugs.webkit.org/show_bug.cgi?id=85972
 

Modified: trunk/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp (116632 => 116633)


--- trunk/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp	2012-05-10 12:20:04 UTC (rev 116632)
+++ trunk/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp	2012-05-10 12:28:18 UTC (rev 116633)
@@ -264,6 +264,7 @@
     DumpRenderTreeSupportEfl::setEditingBehavior(mainView(), defaultEditingBehavior());
     DumpRenderTreeSupportEfl::setJavaScriptProfilingEnabled(mainView(), false);
     DumpRenderTreeSupportEfl::setLoadsSiteIconsIgnoringImageLoadingSetting(mainView(), false);
+    DumpRenderTreeSupportEfl::setTabKeyCyclesThroughElements(mainView(), true);
 }
 
 static CString pathSuitableForTestResult(const char* uriString)

Modified: trunk/Tools/DumpRenderTree/efl/EventSender.cpp (116632 => 116633)


--- trunk/Tools/DumpRenderTree/efl/EventSender.cpp	2012-05-10 12:20:04 UTC (rev 116632)
+++ trunk/Tools/DumpRenderTree/efl/EventSender.cpp	2012-05-10 12:28:18 UTC (rev 116633)
@@ -496,8 +496,13 @@
 static JSValueRef keyDownCallback(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
 {
     OwnPtr<KeyEventInfo> keyEventInfo = adoptPtr(createKeyEventInfo(context, argumentCount, arguments, exception));
-    sendKeyDown(evas_object_evas_get(browser->mainFrame()), keyEventInfo.get());
+    Evas_Object* mainFrame = browser->mainFrame();
 
+    // Focus of the main frame could be lost during the test
+    // Therefore, setting focus to the main frame
+    evas_object_focus_set(mainFrame, true);
+    sendKeyDown(evas_object_evas_get(mainFrame), keyEventInfo.get());
+
     return JSValueMakeUndefined(context);
 }
 

Modified: trunk/Tools/DumpRenderTree/efl/LayoutTestControllerEfl.cpp (116632 => 116633)


--- trunk/Tools/DumpRenderTree/efl/LayoutTestControllerEfl.cpp	2012-05-10 12:20:04 UTC (rev 116632)
+++ trunk/Tools/DumpRenderTree/efl/LayoutTestControllerEfl.cpp	2012-05-10 12:28:18 UTC (rev 116633)
@@ -241,9 +241,9 @@
     notImplemented();
 }
 
-void LayoutTestController::setTabKeyCyclesThroughElements(bool)
+void LayoutTestController::setTabKeyCyclesThroughElements(bool cycles)
 {
-    notImplemented();
+    DumpRenderTreeSupportEfl::setTabKeyCyclesThroughElements(browser->mainView(), cycles);
 }
 
 void LayoutTestController::setUseDashboardCompatibilityMode(bool)
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to