Title: [149412] trunk/Source/WebKit/blackberry
Revision
149412
Author
[email protected]
Date
2013-04-30 16:40:25 -0700 (Tue, 30 Apr 2013)

Log Message

[BlackBerry] Cannot touch scroll readonly text input.
https://bugs.webkit.org/show_bug.cgi?id=115378

Patch by Genevieve Mak <[email protected]> on 2013-04-30
Reviewed by Rob Buis.

PR #332902
Reviewed Internally by Mike Fenton.
Node::rendererIsEditable() returns false if the input element has the readonly tag set.
Check the node type instead.

* WebKitSupport/DOMSupport.cpp:
(BlackBerry::WebKit::DOMSupport::isShadowHostTextInputElement):
(DOMSupport):
* WebKitSupport/DOMSupport.h:
* WebKitSupport/InRegionScrollableArea.cpp:
(BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):

Modified Paths

Diff

Modified: trunk/Source/WebKit/blackberry/ChangeLog (149411 => 149412)


--- trunk/Source/WebKit/blackberry/ChangeLog	2013-04-30 23:35:04 UTC (rev 149411)
+++ trunk/Source/WebKit/blackberry/ChangeLog	2013-04-30 23:40:25 UTC (rev 149412)
@@ -1,3 +1,22 @@
+2013-04-30  Genevieve Mak  <[email protected]>
+
+        [BlackBerry] Cannot touch scroll readonly text input.
+        https://bugs.webkit.org/show_bug.cgi?id=115378
+
+        Reviewed by Rob Buis.
+
+        PR #332902
+        Reviewed Internally by Mike Fenton.
+        Node::rendererIsEditable() returns false if the input element has the readonly tag set.
+        Check the node type instead.
+
+        * WebKitSupport/DOMSupport.cpp:
+        (BlackBerry::WebKit::DOMSupport::isShadowHostTextInputElement):
+        (DOMSupport):
+        * WebKitSupport/DOMSupport.h:
+        * WebKitSupport/InRegionScrollableArea.cpp:
+        (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
+
 2013-04-29  Jakob Petsovits  <[email protected]>
 
         [BlackBerry] Replace disappearing fillBuffer() API with graphics context drawing

Modified: trunk/Source/WebKit/blackberry/WebKitSupport/DOMSupport.cpp (149411 => 149412)


--- trunk/Source/WebKit/blackberry/WebKitSupport/DOMSupport.cpp	2013-04-30 23:35:04 UTC (rev 149411)
+++ trunk/Source/WebKit/blackberry/WebKitSupport/DOMSupport.cpp	2013-04-30 23:40:25 UTC (rev 149412)
@@ -91,6 +91,15 @@
     }
 }
 
+bool isShadowHostTextInputElement(Node* node)
+{
+    if (!node)
+        return false;
+
+    Element* element = node->shadowHost();
+    return element && DOMSupport::isTextInputElement(element);
+}
+
 bool isTextInputElement(Element* element)
 {
     return element->isTextFormControl()

Modified: trunk/Source/WebKit/blackberry/WebKitSupport/DOMSupport.h (149411 => 149412)


--- trunk/Source/WebKit/blackberry/WebKitSupport/DOMSupport.h	2013-04-30 23:35:04 UTC (rev 149411)
+++ trunk/Source/WebKit/blackberry/WebKitSupport/DOMSupport.h	2013-04-30 23:40:25 UTC (rev 149412)
@@ -53,6 +53,7 @@
 bool isElementTypePlugin(const WebCore::Element*);
 
 bool isTextInputElement(WebCore::Element*);
+bool isShadowHostTextInputElement(WebCore::Node*);
 bool isTextBasedContentEditableElement(WebCore::Element*);
 bool isPasswordElement(const WebCore::Element*);
 

Modified: trunk/Source/WebKit/blackberry/WebKitSupport/InRegionScrollableArea.cpp (149411 => 149412)


--- trunk/Source/WebKit/blackberry/WebKitSupport/InRegionScrollableArea.cpp	2013-04-30 23:35:04 UTC (rev 149411)
+++ trunk/Source/WebKit/blackberry/WebKitSupport/InRegionScrollableArea.cpp	2013-04-30 23:40:25 UTC (rev 149412)
@@ -19,6 +19,7 @@
 #include "config.h"
 #include "InRegionScrollableArea.h"
 
+#include "DOMSupport.h"
 #include "Document.h"
 #include "Frame.h"
 #include "LayerWebKitThread.h"
@@ -118,7 +119,7 @@
         m_scrollsVertically = box->scrollHeight() != box->clientHeight();
 
         // Check the overflow if its not an input field because overflow can be set to hidden etc. by the content.
-        if (!box->node() || !box->node()->rendererIsEditable()) {
+        if (!DOMSupport::isShadowHostTextInputElement(box->node())) {
             m_scrollsHorizontally = m_scrollsHorizontally && box->scrollsOverflowX();
             m_scrollsVertically = m_scrollsVertically && box->scrollsOverflowY();
         }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to