Title: [169207] trunk/Source
Revision
169207
Author
[email protected]
Date
2014-05-22 11:03:54 -0700 (Thu, 22 May 2014)

Log Message

REGRESSION (WebKit2): Keyboard should have Search button in duckduckgo.com.
https://bugs.webkit.org/show_bug.cgi?id=133183
<rdar://problem/17004207>

Reviewed by Geoff Garen.


Source/WebCore: 
Adding new export.

* WebCore.exp.in:

Source/WebKit2: 
The keyboard type should be search if the input type is search
or if it is text and it is inside a form with an action and either
name, id or title contain the word search. This matches the
heuristics we have in WK1 for iOS.

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getAssistedNodeInformation):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (169206 => 169207)


--- trunk/Source/WebCore/ChangeLog	2014-05-22 17:09:59 UTC (rev 169206)
+++ trunk/Source/WebCore/ChangeLog	2014-05-22 18:03:54 UTC (rev 169207)
@@ -1,3 +1,15 @@
+2014-05-22  Enrica Casucci  <[email protected]>
+
+        REGRESSION (WebKit2): Keyboard should have Search button in duckduckgo.com.
+        https://bugs.webkit.org/show_bug.cgi?id=133183
+        <rdar://problem/17004207>
+
+        Reviewed by Geoff Garen.
+
+        Adding new export.
+
+        * WebCore.exp.in:
+
 2014-05-22  Carlos Garcia Campos  <[email protected]>
 
         REGRESSION(r163712): [GTK] Misspelling and grammar underline marks are no longer drawn

Modified: trunk/Source/WebCore/WebCore.exp.in (169206 => 169207)


--- trunk/Source/WebCore/WebCore.exp.in	2014-05-22 17:09:59 UTC (rev 169206)
+++ trunk/Source/WebCore/WebCore.exp.in	2014-05-22 18:03:54 UTC (rev 169207)
@@ -1395,6 +1395,7 @@
 __ZN7WebCore9HTMLNames10actionAttrE
 __ZN7WebCore9HTMLNames10listingTagE
 __ZN7WebCore9HTMLNames11optgroupTagE
+__ZN7WebCore9HTMLNames11patternAttrE
 __ZN7WebCore9HTMLNames11textareaTagE
 __ZN7WebCore9HTMLNames12disabledAttrE
 __ZN7WebCore9HTMLNames12selectedAttrE

Modified: trunk/Source/WebKit2/ChangeLog (169206 => 169207)


--- trunk/Source/WebKit2/ChangeLog	2014-05-22 17:09:59 UTC (rev 169206)
+++ trunk/Source/WebKit2/ChangeLog	2014-05-22 18:03:54 UTC (rev 169207)
@@ -1,3 +1,19 @@
+2014-05-22  Enrica Casucci  <[email protected]>
+
+        REGRESSION (WebKit2): Keyboard should have Search button in duckduckgo.com.
+        https://bugs.webkit.org/show_bug.cgi?id=133183
+        <rdar://problem/17004207>
+
+        Reviewed by Geoff Garen.
+
+        The keyboard type should be search if the input type is search
+        or if it is text and it is inside a form with an action and either
+        name, id or title contain the word search. This matches the
+        heuristics we have in WK1 for iOS.
+
+        * WebProcess/WebPage/ios/WebPageIOS.mm:
+        (WebKit::WebPage::getAssistedNodeInformation):
+
 2014-05-21  Oliver Hunt  <[email protected]>
 
         Only enable sandbox extensions on mac.

Modified: trunk/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm (169206 => 169207)


--- trunk/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm	2014-05-22 17:09:59 UTC (rev 169206)
+++ trunk/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm	2014-05-22 18:03:54 UTC (rev 169207)
@@ -1856,8 +1856,17 @@
             information.elementType = WKTypeMonth;
         else if (element->isURLField())
             information.elementType = WKTypeURL;
-        else if (element->isText())
-            information.elementType = element->getAttribute("pattern") == "\\d*" || element->getAttribute("pattern") == "[0-9]*" ? WKTypeNumberPad : WKTypeText;
+        else if (element->isText()) {
+            const AtomicString& pattern = element->fastGetAttribute(HTMLNames::patternAttr);
+            if (pattern == "\\d*" || pattern == "[0-9]*")
+                information.elementType = WKTypeNumberPad;
+            else {
+                information.elementType = WKTypeText;
+                if (!information.formAction.isEmpty()
+                    && (element->getNameAttribute().contains("search") || element->getIdAttribute().contains("search") || element->fastGetAttribute(HTMLNames::titleAttr).contains("search")))
+                    information.elementType = WKTypeSearch;
+            }
+        }
 
         information.isReadOnly = element->isReadOnly();
         information.value = element->value();
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to