- Revision
- 145524
- Author
- fal...@chromium.org
- Date
- 2013-03-12 04:38:57 -0700 (Tue, 12 Mar 2013)
Log Message
Unreviewed, rolling out r145514.
http://trac.webkit.org/changeset/145514
https://bugs.webkit.org/show_bug.cgi?id=112134
breaks Mac build (Requested by falken on #webkit).
Patch by Sheriff Bot <webkit.review....@gmail.com> on 2013-03-12
* dom/Element.cpp:
* dom/Element.h:
* dom/EventDispatcher.cpp:
(WebCore::EventDispatcher::dispatchSimulatedClick):
* dom/GestureEvent.cpp:
(WebCore::GestureEventDispatchMediator::dispatchEvent):
* dom/MouseEvent.cpp:
(WebCore::MouseEventDispatchMediator::dispatchEvent):
* dom/Node.cpp:
(WebCore):
(WebCore::Node::isInert):
(WebCore::Node::handleLocalEvents):
(WebCore::Node::disabled):
(WebCore::Node::willRespondToMouseMoveEvents):
(WebCore::Node::willRespondToMouseClickEvents):
(WebCore::Node::willRespondToTouchEvents):
* dom/Node.h:
(Node):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (145523 => 145524)
--- trunk/Source/WebCore/ChangeLog 2013-03-12 11:31:07 UTC (rev 145523)
+++ trunk/Source/WebCore/ChangeLog 2013-03-12 11:38:57 UTC (rev 145524)
@@ -1,3 +1,30 @@
+2013-03-12 Sheriff Bot <webkit.review....@gmail.com>
+
+ Unreviewed, rolling out r145514.
+ http://trac.webkit.org/changeset/145514
+ https://bugs.webkit.org/show_bug.cgi?id=112134
+
+ breaks Mac build (Requested by falken on #webkit).
+
+ * dom/Element.cpp:
+ * dom/Element.h:
+ * dom/EventDispatcher.cpp:
+ (WebCore::EventDispatcher::dispatchSimulatedClick):
+ * dom/GestureEvent.cpp:
+ (WebCore::GestureEventDispatchMediator::dispatchEvent):
+ * dom/MouseEvent.cpp:
+ (WebCore::MouseEventDispatchMediator::dispatchEvent):
+ * dom/Node.cpp:
+ (WebCore):
+ (WebCore::Node::isInert):
+ (WebCore::Node::handleLocalEvents):
+ (WebCore::Node::disabled):
+ (WebCore::Node::willRespondToMouseMoveEvents):
+ (WebCore::Node::willRespondToMouseClickEvents):
+ (WebCore::Node::willRespondToTouchEvents):
+ * dom/Node.h:
+ (Node):
+
2013-03-12 Andrey Lushnikov <lushni...@chromium.org>
Web Inspector: [CodeMirror] highlight matching braces
Modified: trunk/Source/WebCore/dom/Element.cpp (145523 => 145524)
--- trunk/Source/WebCore/dom/Element.cpp 2013-03-12 11:31:07 UTC (rev 145523)
+++ trunk/Source/WebCore/dom/Element.cpp 2013-03-12 11:38:57 UTC (rev 145524)
@@ -1152,25 +1152,6 @@
{
}
-bool Element::disabled() const
-{
-#if ENABLE(DIALOG_ELEMENT)
- // FIXME: disabled and inert are separate concepts in the spec, but now we treat them as the same.
- // For example, an inert, non-disabled form control should not be grayed out.
- if (isInert())
- return true;
-#endif
- return false;
-}
-
-#if ENABLE(DIALOG_ELEMENT)
-bool Element::isInert() const
-{
- Element* dialog = document()->activeModalDialog();
- return dialog && !containsIncludingShadowDOM(dialog) && !dialog->containsIncludingShadowDOM(this);
-}
-#endif
-
Node::InsertionNotificationRequest Element::insertedInto(ContainerNode* insertionPoint)
{
// need to do superclass processing first so inDocument() is true
Modified: trunk/Source/WebCore/dom/Element.h (145523 => 145524)
--- trunk/Source/WebCore/dom/Element.h 2013-03-12 11:31:07 UTC (rev 145523)
+++ trunk/Source/WebCore/dom/Element.h 2013-03-12 11:38:57 UTC (rev 145524)
@@ -546,14 +546,6 @@
virtual void setChangedSinceLastFormControlChangeEvent(bool);
virtual void dispatchFormControlChangeEvent() { }
- // Used for disabled form elements; if true, prevents mouse events from being dispatched
- // to event listeners, and prevents DOMActivate events from being sent at all.
- virtual bool disabled() const;
-
-#if ENABLE(DIALOG_ELEMENT)
- bool isInert() const;
-#endif
-
#if ENABLE(SVG)
virtual bool childShouldCreateRenderer(const NodeRenderingContext&) const;
bool hasPendingResources() const;
Modified: trunk/Source/WebCore/dom/EventDispatcher.cpp (145523 => 145524)
--- trunk/Source/WebCore/dom/EventDispatcher.cpp 2013-03-12 11:31:07 UTC (rev 145523)
+++ trunk/Source/WebCore/dom/EventDispatcher.cpp 2013-03-12 11:38:57 UTC (rev 145524)
@@ -79,7 +79,7 @@
void EventDispatcher::dispatchSimulatedClick(Node* node, Event* underlyingEvent, SimulatedClickMouseEventOptions mouseEventOptions, SimulatedClickVisualOptions visualOptions)
{
- if (node->isElementNode() && toElement(node)->disabled())
+ if (node->disabled())
return;
if (!gNodesDispatchingSimulatedClicks)
Modified: trunk/Source/WebCore/dom/GestureEvent.cpp (145523 => 145524)
--- trunk/Source/WebCore/dom/GestureEvent.cpp 2013-03-12 11:31:07 UTC (rev 145523)
+++ trunk/Source/WebCore/dom/GestureEvent.cpp 2013-03-12 11:38:57 UTC (rev 145524)
@@ -29,7 +29,6 @@
#include "GestureEvent.h"
-#include "Element.h"
#include <wtf/text/AtomicString.h>
namespace WebCore {
@@ -120,7 +119,7 @@
bool GestureEventDispatchMediator::dispatchEvent(EventDispatcher* dispatcher) const
{
- if (dispatcher->node()->isElementNode() && toElement(dispatcher->node())->disabled())
+ if (dispatcher->node()->disabled())
return true;
dispatcher->dispatch();
Modified: trunk/Source/WebCore/dom/MouseEvent.cpp (145523 => 145524)
--- trunk/Source/WebCore/dom/MouseEvent.cpp 2013-03-12 11:31:07 UTC (rev 145523)
+++ trunk/Source/WebCore/dom/MouseEvent.cpp 2013-03-12 11:38:57 UTC (rev 145524)
@@ -300,7 +300,7 @@
return dispatcher->dispatch();
}
- if (dispatcher->node()->isElementNode() && toElement(dispatcher->node())->disabled()) // Don't even send DOM events for disabled controls..
+ if (dispatcher->node()->disabled()) // Don't even send DOM events for disabled controls..
return false;
if (event()->type().isEmpty())
Modified: trunk/Source/WebCore/dom/Node.cpp (145523 => 145524)
--- trunk/Source/WebCore/dom/Node.cpp 2013-03-12 11:31:07 UTC (rev 145523)
+++ trunk/Source/WebCore/dom/Node.cpp 2013-03-12 11:38:57 UTC (rev 145524)
@@ -902,6 +902,14 @@
return this;
}
+#if ENABLE(DIALOG_ELEMENT)
+bool Node::isInert() const
+{
+ Element* dialog = document()->activeModalDialog();
+ return dialog && !containsIncludingShadowDOM(dialog) && !dialog->containsIncludingShadowDOM(this);
+}
+#endif
+
unsigned Node::nodeIndex() const
{
Node *_tempNode = previousSibling();
@@ -2304,7 +2312,7 @@
if (!hasEventTargetData())
return;
- if (isElementNode() && toElement(this)->disabled() && event->isMouseEvent())
+ if (disabled() && event->isMouseEvent())
return;
fireEventListeners(event);
@@ -2444,6 +2452,15 @@
dispatchScopedEvent(Event::create(eventNames().inputEvent, true, false));
}
+bool Node::disabled() const
+{
+#if ENABLE(DIALOG_ELEMENT)
+ if (isInert())
+ return true;
+#endif
+ return false;
+}
+
void Node::defaultEventHandler(Event* event)
{
if (event->target() != this)
@@ -2503,14 +2520,14 @@
bool Node::willRespondToMouseMoveEvents()
{
- if (isElementNode() && toElement(this)->disabled())
+ if (disabled())
return false;
return hasEventListeners(eventNames().mousemoveEvent) || hasEventListeners(eventNames().mouseoverEvent) || hasEventListeners(eventNames().mouseoutEvent);
}
bool Node::willRespondToMouseClickEvents()
{
- if (isElementNode() && toElement(this)->disabled())
+ if (disabled())
return false;
return isContentEditable(UserSelectAllIsAlwaysNonEditable) || hasEventListeners(eventNames().mouseupEvent) || hasEventListeners(eventNames().mousedownEvent) || hasEventListeners(eventNames().clickEvent) || hasEventListeners(eventNames().DOMActivateEvent);
}
@@ -2518,7 +2535,7 @@
bool Node::willRespondToTouchEvents()
{
#if ENABLE(TOUCH_EVENTS)
- if (isElementNode() && toElement(this)->disabled())
+ if (disabled())
return false;
return hasEventListeners(eventNames().touchstartEvent) || hasEventListeners(eventNames().touchmoveEvent) || hasEventListeners(eventNames().touchcancelEvent) || hasEventListeners(eventNames().touchendEvent);
#else
Modified: trunk/Source/WebCore/dom/Node.h (145523 => 145524)
--- trunk/Source/WebCore/dom/Node.h 2013-03-12 11:31:07 UTC (rev 145523)
+++ trunk/Source/WebCore/dom/Node.h 2013-03-12 11:38:57 UTC (rev 145524)
@@ -414,6 +414,10 @@
virtual bool isMouseFocusable() const;
virtual Node* focusDelegate();
+#if ENABLE(DIALOG_ELEMENT)
+ bool isInert() const;
+#endif
+
enum UserSelectAllTreatment {
UserSelectAllDoesNotAffectEditability,
UserSelectAllIsAlwaysNonEditable
@@ -659,6 +663,10 @@
// Perform the default action for an event.
virtual void defaultEventHandler(Event*);
+ // Used for disabled form elements; if true, prevents mouse events from being dispatched
+ // to event listeners, and prevents DOMActivate events from being sent at all.
+ virtual bool disabled() const;
+
using TreeShared<Node>::ref;
using TreeShared<Node>::deref;