Hello,
I'm working on adding setWindowIsKey to LayoutTestController for WK2. Lack of this function prevents from passing few layout tests (eg. fast/dom/Window-onFocus.html, fast/events/blur-focus-window-should-blur-focus-element.html). New implementation posts synchronic message to UIProcess. After reciving message, UIProcess sets focus to WebView (which I bilive is proper implementation of setWindowIsKey in WK2 EFL port). This leads to WebPageProxy::viewStateDidChange call which then sends asynchronously SetFocus message back to WebProcess. This causes some issues - let's look in to fast/events/blur-focus-window-should-blur-focus-element.html implementation. This test sets event handlers: divElement.onfocus = divElement.onblur = window.onfocus = window.onblur = innerDiv.onfocus = innerDiv.onblur = iframe.onfocus = iframe.onblur = function(e) { thisObjects.push(this); events.push(e.type); targets.push(e.target); }; Then setWindowIsKey is called and focus is set to some elements: if (window.layoutTestController) { window.layoutTestController.setWindowIsKey(false); //this will be asynchronic window.layoutTestController.setWindowIsKey(true); //this will be asynchronic innerDiv.focus(); // synchronic divElement.focus(); // synchronic } Then test checks event handlers triggering order: testNextEvent('divElement', 'blur'); testNextEvent('window', 'blur'); testNextEvent('window', 'focus'); testNextEvent('divElement', 'focus'); testNextEvent('divElement', 'blur'); testNextEvent('window', 'blur'); testNextEvent('iframe', 'focus'); testNextEvent('innerDiv', 'focus'); testNextEvent('innerDiv', 'blur'); testNextEvent('iframe', 'blur'); testNextEvent('window', 'focus'); testNextEvent('divElement', 'focus'); This of course fails - some of event handlers are not even called before test ends. Do you have any suggestions on how fix this issue? Maybe test like this should be adapted for use with WK2? Thanks in advance and best regards, Piotr Roguski
_______________________________________________ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev