WebCore:
[WebKit-https.git] / WebCore / kwq / DOMHTML.mm
index 1c756a2..c89ce90 100644 (file)
@@ -1462,6 +1462,40 @@ using DOM::NodeImpl;
 
 @end
 
+@implementation DOMHTMLInputElement (DOMHTMLInputElementExtensions)
+
+- (BOOL)isTextField
+{
+    static NSArray *textInputTypes = nil;
+#ifndef NDEBUG
+    static NSArray *nonTextInputTypes = nil;
+#endif
+    
+    NSString *type = [self type];
+    
+    // No type at all is treated as text type
+    if ([type length] == 0)
+        return YES;
+    
+    if (textInputTypes == nil)
+        textInputTypes = [[NSSet alloc] initWithObjects:@"text", @"password", @"search", nil];
+    
+    BOOL isText = [textInputTypes containsObject:[type lowercaseString]];
+    
+#ifndef NDEBUG
+    if (nonTextInputTypes == nil)
+        nonTextInputTypes = [[NSSet alloc] initWithObjects:@"isindex", @"checkbox", @"radio", @"submit", @"reset", @"file", @"hidden", @"image", @"button", @"range", nil];
+    
+    // Catch cases where a new input type has been added that's not in these lists.
+    ASSERT(isText || [nonTextInputTypes containsObject:[type lowercaseString]]);
+#endif    
+    
+    return isText;
+}
+
+@end
+
+
 @implementation DOMHTMLTextAreaElement
 
 - (HTMLTextAreaElementImpl *)_textAreaElementImpl