Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / core / rendering / HitTestResult.cpp
index 921448c..2e11228 100644 (file)
@@ -33,6 +33,7 @@
 #include "core/html/HTMLImageElement.h"
 #include "core/html/HTMLInputElement.h"
 #include "core/html/HTMLMediaElement.h"
+#include "core/html/HTMLTextAreaElement.h"
 #include "core/html/parser/HTMLParserIdioms.h"
 #include "core/page/FrameTree.h"
 #include "core/rendering/RenderImage.h"
@@ -119,6 +120,7 @@ void HitTestResult::trace(Visitor* visitor)
     visitor->trace(m_innerPossiblyPseudoNode);
     visitor->trace(m_innerNonSharedNode);
     visitor->trace(m_innerURLElement);
+    visitor->trace(m_scrollbar);
 #if ENABLE(OILPAN)
     visitor->trace(m_rectBasedTestResult);
 #endif
@@ -370,10 +372,12 @@ bool HitTestResult::isContentEditable() const
         return false;
 
     if (isHTMLTextAreaElement(*m_innerNonSharedNode))
-        return true;
+        return !toHTMLTextAreaElement(*m_innerNonSharedNode).isDisabledOrReadOnly();
 
-    if (isHTMLInputElement(*m_innerNonSharedNode))
-        return toHTMLInputElement(*m_innerNonSharedNode).isTextField();
+    if (isHTMLInputElement(*m_innerNonSharedNode)) {
+        HTMLInputElement& inputElement = toHTMLInputElement(*m_innerNonSharedNode);
+        return !inputElement.isDisabledOrReadOnly() && inputElement.isTextField();
+    }
 
     return m_innerNonSharedNode->hasEditableStyle();
 }