Bug 98256 - [WK2][WKTR] Implement UIClient focus callbacks in WebKitTestRunner
Summary: [WK2][WKTR] Implement UIClient focus callbacks in WebKitTestRunner
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit2 (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Chris Dumez
URL:
Keywords:
Depends on: 98495 98503
Blocks:
  Show dependency treegraph
 
Reported: 2012-10-03 06:04 PDT by Chris Dumez
Modified: 2012-10-05 10:39 PDT (History)
7 users (show)

See Also:


Attachments
Patch (2.80 KB, patch)
2012-10-03 06:22 PDT, Chris Dumez
kenneth: review+
webkit.review.bot: commit-queue-
Details | Formatted Diff | Diff
Patch for landing (2.78 KB, patch)
2012-10-04 22:29 PDT, Chris Dumez
no flags Details | Formatted Diff | Diff
Patch (2.92 KB, patch)
2012-10-05 10:09 PDT, Chris Dumez
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Dumez 2012-10-03 06:04:30 PDT
WebKitTestRunner does not currently define the "focus" / "unfocus" callbacks in WKPageUIClient. We need to implement this to unskip:
fast/dom/Window/mozilla-focus-blur.html
Comment 1 Chris Dumez 2012-10-03 06:22:25 PDT
Created attachment 166876 [details]
Patch
Comment 2 WebKit Review Bot 2012-10-04 16:27:57 PDT
Comment on attachment 166876 [details]
Patch

Rejecting attachment 166876 [details] from commit-queue.

Failed to run "['/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch', '--status-host=queues.webkit.org', '-..." exit_code: 1

Last 500 characters of output:
Kit/chromium/third_party/yasm/source/patched-yasm --revision 154708 --non-interactive --force --accept theirs-conflict --ignore-externals' in '/mnt/git/webkit-commit-queue/Source/WebKit/chromium'
51>At revision 154708.

________ running '/usr/bin/python tools/clang/scripts/update.py --mac-only' in '/mnt/git/webkit-commit-queue/Source/WebKit/chromium'

________ running '/usr/bin/python gyp_webkit' in '/mnt/git/webkit-commit-queue/Source/WebKit/chromium'
Updating webkit projects from gyp files...

Full output: http://queues.webkit.org/results/14180201
Comment 3 Chris Dumez 2012-10-04 22:29:30 PDT
Created attachment 167250 [details]
Patch for landing

Rebased on master. Could someone please cq+ ?
Comment 4 WebKit Review Bot 2012-10-04 23:22:09 PDT
Comment on attachment 167250 [details]
Patch for landing

Clearing flags on attachment: 167250

Committed r130466: <http://trac.webkit.org/changeset/130466>
Comment 5 WebKit Review Bot 2012-10-04 23:22:13 PDT
All reviewed patches have been landed.  Closing bug.
Comment 6 WebKit Review Bot 2012-10-05 01:09:25 PDT
Re-opened since this is blocked by bug 98495
Comment 7 Csaba Osztrogonác 2012-10-05 01:16:36 PDT
(In reply to comment #6)
> Re-opened since this is blocked by bug 98495

Rolled out, because it broke 12 tests on Qt-WK2.
See http://build.webkit.sed.hu/builders/x86-64%20Linux%20Qt%20Release%20WebKit2%20%28Amazon%20EC2%29/builds/9411 for details.
Comment 8 Chris Dumez 2012-10-05 01:33:43 PDT
It did not cause any crashes on EFL bots. However it did on Qt and Mac bots.

Here is the crash bracktrace on mac:
Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000010100

VM Regions Near 0x10100:
--> 
    __TEXT                 0000000109044000-0000000109065000 [  132K] r-x/rwx SM=COW  /Volumes/VOLUME/*

Application Specific Information:
objc_msgSend() selector name: makeFirstResponder:
objc[75123]: garbage collection is OFF

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libobjc.A.dylib               	0x00007fff926f8e8c objc_msgSend + 12
1   WebKitTestRunner              	0x0000000109047568 WTR::PlatformWebView::focus() + 56 (PlatformWebViewMac.mm:117)
2   WebKitTestRunner              	0x0000000109049371 _ZN3WTRL5focusEPK12OpaqueWKPagePKv + 33 (TestController.cpp:166)
3   com.apple.WebKit2             	0x00000001093a7e31 WebKit::WebUIClient::focus(WebKit::WebPageProxy*) + 81 (WebUIClient.cpp:112)
4   com.apple.WebKit2             	0x00000001092fb77c WebKit::WebPageProxy::setFocus(bool) + 60 (WebPageProxy.cpp:3250)
5   com.apple.WebKit2             	0x0000000109349c1f void CoreIPC::callMemberFunction<WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(bool), bool>(CoreIPC::Arguments1<bool> const&, WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(bool)) + 143 (HandleMessage.h:20)
6   com.apple.WebKit2             	0x000000010933950f void CoreIPC::handleMessage<Messages::WebPageProxy::SetFocus, WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(bool)>(CoreIPC::ArgumentDecoder*, WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(bool)) + 111 (HandleMessage.h:303)
7   com.apple.WebKit2             	0x000000010933650e WebKit::WebPageProxy::didReceiveWebPageProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) + 734 (WebPageProxyMessageReceiver.cpp:137)
8   com.apple.WebKit2             	0x00000001092f40af WebKit::WebPageProxy::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) + 271 (WebPageProxy.cpp:1854)
9   com.apple.WebKit2             	0x000000010938e776 WebKit::WebProcessProxy::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) + 438 (WebProcessProxy.cpp:420)
10  com.apple.WebKit2             	0x000000010921a3f0 WebKit::WebConnectionToWebProcess::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) + 368 (WebConnectionToWebProcess.cpp:93)
11  com.apple.WebKit2             	0x000000010921a43d non-virtual thunk to WebKit::WebConnectionToWebProcess::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) + 61
12  com.apple.WebKit2             	0x00000001090c52f5 CoreIPC::Connection::dispatchMessage(CoreIPC::MessageID, CoreIPC::ArgumentDecoder*) + 149 (Connection.cpp:663)
13  com.apple.WebKit2             	0x00000001090c2b5b CoreIPC::Connection::dispatchMessage(CoreIPC::Connection::Message<CoreIPC::ArgumentDecoder>&) + 315 (Connection.cpp:685)
14  com.apple.WebKit2             	0x00000001090c524b CoreIPC::Connection::dispatchOneMessage() + 203 (Connection.cpp:712)
15  com.apple.WebKit2             	0x00000001090cbf12 WTF::FunctionWrapper<void (CoreIPC::Connection::*)()>::operator()(CoreIPC::Connection*) + 114 (Functional.h:174)
16  com.apple.WebKit2             	0x00000001090cbe95 WTF::BoundFunctionImpl<WTF::FunctionWrapper<void (CoreIPC::Connection::*)()>, void ()(CoreIPC::Connection*)>::operator()() + 53 (Functional.h:406)
17  com.apple.WebCore             	0x000000010c9cc4c9 WTF::Function<void ()()>::operator()() const + 137 (Functional.h:614)
18  com.apple.WebCore             	0x000000010c9cc10f WebCore::RunLoop::performWork() + 207 (RunLoop.cpp:89)
19  com.apple.WebCore             	0x000000010c9cd61e WebCore::RunLoop::performWork(void*) + 62 (RunLoopCF.cpp:66)
20  com.apple.CoreFoundation      	0x00007fff8c4314f1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
21  com.apple.CoreFoundation      	0x00007fff8c430d5d __CFRunLoopDoSources0 + 253
22  com.apple.CoreFoundation      	0x00007fff8c457b49 __CFRunLoopRun + 905
23  com.apple.CoreFoundation      	0x00007fff8c457486 CFRunLoopRunSpecific + 230
24  com.apple.Foundation          	0x00007fff89fe3f7b -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 267
25  WebKitTestRunner              	0x00000001090505a0 WTR::TestController::platformRunUntil(bool&, double) + 192 (TestControllerMac.mm:60)
26  WebKitTestRunner              	0x0000000109049fc9 WTR::TestController::runUntil(bool&, WTR::TestController::TimeoutDuration) + 185 (TestController.cpp:689)
27  WebKitTestRunner              	0x000000010905128b WTR::TestInvocation::invoke() + 1579 (TestInvocation.cpp:186)
28  WebKitTestRunner              	0x000000010904b49b WTR::TestController::runTest(char const*) + 379 (TestController.cpp:632)
29  WebKitTestRunner              	0x000000010904b582 WTR::TestController::runTestingServerLoop() + 178 (TestController.cpp:648)
30  WebKitTestRunner              	0x0000000109048e95 WTR::TestController::run() + 85 (TestController.cpp:661)
31  WebKitTestRunner              	0x0000000109047f0b WTR::TestController::TestController(int, char const**) + 619 (TestController.cpp:103)
32  WebKitTestRunner              	0x0000000109047c93 WTR::TestController::TestController(int, char const**) + 35 (TestController.cpp:104)
33  WebKitTestRunner              	0x0000000109045274 main + 132 (main.mm:35)
34  WebKitTestRunner              	0x00000001090451e4 start + 52
Comment 9 Chris Dumez 2012-10-05 01:57:07 PDT
Ok, I found the problem. I will reupload a fixed patch soon.
Comment 10 Chris Dumez 2012-10-05 10:09:00 PDT
Created attachment 167342 [details]
Patch
Comment 11 WebKit Review Bot 2012-10-05 10:39:36 PDT
Comment on attachment 167342 [details]
Patch

Clearing flags on attachment: 167342

Committed r130522: <http://trac.webkit.org/changeset/130522>
Comment 12 WebKit Review Bot 2012-10-05 10:39:40 PDT
All reviewed patches have been landed.  Closing bug.