Bug 8324

Summary: REGRESSION: textarea :focus not applied immediately
Product: WebKit Reporter: Denis Defreyne <amonre>
Component: New BugsAssignee: Nobody <webkit-unassigned>
Severity: Normal CC: mitz
Priority: P1 Keywords: Regression
Version: 420+   
Hardware: Macintosh   
OS: OS X 10.4   
URL: http://amonre.org/pub/css/textarea-focus/
Description Flags
Implement formControlIsBecomingFirstResponder
Implement formControlIsBecomingFirstResponder darin: review+

Description Denis Defreyne 2006-04-11 02:33:01 PDT

When selecting a textarea, its :focus selector is not always applied directly.


1. Open the example at <http://amonre.org/pub/css/textarea-focus/>.
2. Click in the textarea to focus it.
The textarea's background color stays red, but it should be green.
3. Switch to another window or tab, and select the window or tab containing the textarea.
The textarea's background color turns green.


In the example: the textarea's background color should be green whenever it is selected.


In the example: the textarea's background color stays red when selecting the textarea. The textarea's background color turns green when re-focusing the window containing the textarea.
Comment 1 mitz 2006-04-12 07:48:11 PDT
This is a regression from r9935 (Make sure :focus is not matched when the window is not key). Clicking in the text area makes the WebHTMLView resign as first responder, which ultimately calls setDisplaysWithFocusAttributes(false), preventing the focus selector from matching. When the window is made key again, even though the WebHTMLView is still not first responder, it calls setDisplaysWithFocusAttributes(true).

I think this can be fixed by implementing formControlIsBecomingFirstResponder methods like the formControlIsResigningFirstResponder that already exist.
Comment 2 mitz 2006-04-12 11:14:05 PDT
Created attachment 7656 [details]
Implement formControlIsBecomingFirstResponder

And another manual test...
Comment 3 mitz 2006-04-12 11:52:36 PDT
Created attachment 7657 [details]
Implement formControlIsBecomingFirstResponder
Comment 4 Darin Adler 2006-04-12 12:47:20 PDT
Comment on attachment 7657 [details]
Implement formControlIsBecomingFirstResponder

Looks fine. r=me
Comment 5 Justin Garcia 2006-04-12 16:38:14 PDT
I think we can automate the manual test included in the patch, eventSender.mouseClick for first part and layoutTestController.setWindowIsKey for the second part.