See https://bugs.webkit.org/show_bug.cgi?id=56809 for some backstory. For Chromium Autofill, we need a concept akin to "Is this field user-editable?" Currently, we approximate this by checking that the field is (a) enabled, (b) not read only, and (c) focusable. (c) is particularly odd, as we call into HTMLFormControlElement::isFocusable(), which assumes that layout has been done -- but does not do the layout itself. It might be wise to encapsulate this or similar "isUserEditable()" logic within WebKit, and expose that one method in the API. Otherwise, we should re-evaluate whether we are exposing the right methods, especially with the implicit dependency on layout having already occurred. James also mentioned that reentrancy might be an issue to watch out for here.