Changeset 146744 in webkit
- Timestamp:
- Mar 24, 2013 9:58:36 PM (11 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r146737 r146744 1 2013-03-24 Matt Falkenhagen <falken@chromium.org> 2 3 Refactoring: Pull Node::disabled() and Node::isInert() down to Element. 4 https://bugs.webkit.org/show_bug.cgi?id=112085 5 6 Reviewed by Hajime Morrita. 7 8 Node is too low a level for these methods. The plan is to rename 9 Element::disabled to isDisabledFormControl and to remove 10 Element::isEnabledFormControl. 11 12 No new tests, just refactoring. 13 14 * dom/Element.cpp: 15 (WebCore::Element::disabled): 16 (WebCore): 17 (WebCore::Element::isInert): 18 * dom/Element.h: 19 (Element): 20 * dom/EventDispatcher.cpp: 21 (WebCore::EventDispatcher::dispatchSimulatedClick): 22 * dom/GestureEvent.cpp: 23 (WebCore::GestureEventDispatchMediator::dispatchEvent): 24 * dom/MouseEvent.cpp: 25 (WebCore::MouseEventDispatchMediator::dispatchEvent): 26 * dom/Node.cpp: 27 (WebCore::Node::handleLocalEvents): 28 (WebCore::Node::willRespondToMouseMoveEvents): 29 (WebCore::Node::willRespondToMouseClickEvents): 30 (WebCore::Node::willRespondToTouchEvents): 31 * dom/Node.h: 32 (Node): 33 1 34 2013-03-24 Alpha Lam <hclam@chromium.org> 2 35 -
trunk/Source/WebCore/dom/Element.cpp
r146726 r146744 1177 1177 } 1178 1178 1179 bool Element::disabled() const 1180 { 1181 #if ENABLE(DIALOG_ELEMENT) 1182 // FIXME: disabled and inert are separate concepts in the spec, but now we treat them as the same. 1183 // For example, an inert, non-disabled form control should not be grayed out. 1184 if (isInert()) 1185 return true; 1186 #endif 1187 return false; 1188 } 1189 1190 #if ENABLE(DIALOG_ELEMENT) 1191 bool Element::isInert() const 1192 { 1193 Element* dialog = document()->activeModalDialog(); 1194 return dialog && !containsIncludingShadowDOM(dialog) && !dialog->containsIncludingShadowDOM(this); 1195 } 1196 #endif 1197 1179 1198 Node::InsertionNotificationRequest Element::insertedInto(ContainerNode* insertionPoint) 1180 1199 { -
trunk/Source/WebCore/dom/Element.h
r146583 r146744 558 558 virtual void dispatchFormControlChangeEvent() { } 559 559 560 // Used for disabled form elements; if true, prevents mouse events from being dispatched 561 // to event listeners, and prevents DOMActivate events from being sent at all. 562 virtual bool disabled() const; 563 564 #if ENABLE(DIALOG_ELEMENT) 565 bool isInert() const; 566 #endif 567 560 568 #if ENABLE(SVG) 561 569 virtual bool childShouldCreateRenderer(const NodeRenderingContext&) const; -
trunk/Source/WebCore/dom/EventDispatcher.cpp
r145873 r146744 80 80 void EventDispatcher::dispatchSimulatedClick(Node* node, Event* underlyingEvent, SimulatedClickMouseEventOptions mouseEventOptions, SimulatedClickVisualOptions visualOptions) 81 81 { 82 if (node-> disabled())82 if (node->isElementNode() && toElement(node)->disabled()) 83 83 return; 84 84 -
trunk/Source/WebCore/dom/GestureEvent.cpp
r146378 r146744 30 30 #include "GestureEvent.h" 31 31 32 #include "Element.h" 32 33 #include <wtf/text/AtomicString.h> 33 34 … … 119 120 bool GestureEventDispatchMediator::dispatchEvent(EventDispatcher* dispatcher) const 120 121 { 121 if (dispatcher->node()-> disabled())122 if (dispatcher->node()->isElementNode() && toElement(dispatcher->node())->disabled()) 122 123 return true; 123 124 -
trunk/Source/WebCore/dom/MouseEvent.cpp
r145524 r146744 301 301 } 302 302 303 if (dispatcher->node()-> disabled()) // Don't even send DOM events for disabled controls..303 if (dispatcher->node()->isElementNode() && toElement(dispatcher->node())->disabled()) // Don't even send DOM events for disabled controls.. 304 304 return false; 305 305 -
trunk/Source/WebCore/dom/Node.cpp
r146726 r146744 908 908 } 909 909 910 #if ENABLE(DIALOG_ELEMENT)911 bool Node::isInert() const912 {913 Element* dialog = document()->activeModalDialog();914 return dialog && !containsIncludingShadowDOM(dialog) && !dialog->containsIncludingShadowDOM(this);915 }916 #endif917 918 910 unsigned Node::nodeIndex() const 919 911 { … … 2327 2319 return; 2328 2320 2329 if ( disabled() && event->isMouseEvent())2321 if (isElementNode() && toElement(this)->disabled() && event->isMouseEvent()) 2330 2322 return; 2331 2323 … … 2465 2457 { 2466 2458 dispatchScopedEvent(Event::create(eventNames().inputEvent, true, false)); 2467 }2468 2469 bool Node::disabled() const2470 {2471 #if ENABLE(DIALOG_ELEMENT)2472 if (isInert())2473 return true;2474 #endif2475 return false;2476 2459 } 2477 2460 … … 2535 2518 bool Node::willRespondToMouseMoveEvents() 2536 2519 { 2537 if ( disabled())2520 if (isElementNode() && toElement(this)->disabled()) 2538 2521 return false; 2539 2522 return hasEventListeners(eventNames().mousemoveEvent) || hasEventListeners(eventNames().mouseoverEvent) || hasEventListeners(eventNames().mouseoutEvent); … … 2542 2525 bool Node::willRespondToMouseClickEvents() 2543 2526 { 2544 if ( disabled())2527 if (isElementNode() && toElement(this)->disabled()) 2545 2528 return false; 2546 2529 return isContentEditable(UserSelectAllIsAlwaysNonEditable) || hasEventListeners(eventNames().mouseupEvent) || hasEventListeners(eventNames().mousedownEvent) || hasEventListeners(eventNames().clickEvent) || hasEventListeners(eventNames().DOMActivateEvent); … … 2550 2533 { 2551 2534 #if ENABLE(TOUCH_EVENTS) 2552 if ( disabled())2535 if (isElementNode() && toElement(this)->disabled()) 2553 2536 return false; 2554 2537 return hasEventListeners(eventNames().touchstartEvent) || hasEventListeners(eventNames().touchmoveEvent) || hasEventListeners(eventNames().touchcancelEvent) || hasEventListeners(eventNames().touchendEvent); -
trunk/Source/WebCore/dom/Node.h
r146555 r146744 417 417 virtual Node* focusDelegate(); 418 418 419 #if ENABLE(DIALOG_ELEMENT)420 bool isInert() const;421 #endif422 423 419 enum UserSelectAllTreatment { 424 420 UserSelectAllDoesNotAffectEditability, … … 666 662 virtual void defaultEventHandler(Event*); 667 663 668 // Used for disabled form elements; if true, prevents mouse events from being dispatched669 // to event listeners, and prevents DOMActivate events from being sent at all.670 virtual bool disabled() const;671 672 664 using TreeShared<Node>::ref; 673 665 using TreeShared<Node>::deref; -
trunk/Source/WebCore/rendering/RenderThemeMac.mm
r142810 r146744 139 139 unsigned flags = 0; 140 140 141 if (node-> disabled())141 if (node->isElementNode() && toElement(node)->disabled()) 142 142 flags |= MediaUIPartDisabledFlag; 143 143 else if (node->active())
Note: See TracChangeset
for help on using the changeset viewer.