⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 167778 in webkit


Ignore:
Timestamp:
Apr 24, 2014, 3:24:41 PM (12 years ago)
Author:
matthew_hanson@apple.com
Message:

Rollout r167689.

Location:
tags/Safari-538.31
Files:
3 deleted
3 edited

Legend:

Unmodified
Added
Removed
  • tags/Safari-538.31/LayoutTests/ChangeLog

    r167732 r167778  
    165165        ensure that they are explicitly different colors.
    166166        * fast/css/padding-margin-negative-border.html:
    167 
    168 2014-04-22  Ryosuke Niwa  <rniwa@webkit.org>
    169 
    170         REGRESSION (r157328): popover to check into flight ba.com dismisses instantly when focusing form
    171         https://bugs.webkit.org/show_bug.cgi?id=131949
    172 
    173         Reviewed by Darin Adler.
    174 
    175         Add a test that dumps the event target and the related target of every mouse event
    176         when dispatched inside an input element inside a details element.
    177 
    178         This catches the regression as well as other bugs I encountered while fixing the bug.
    179 
    180         We need a WK2 specific results because WK1 mac results contain an extra fake mouse move event.
    181 
    182         * fast/events/shadow-event-path-expected.txt: Added.
    183         * fast/events/shadow-event-path.html: Added.
    184         * platform/mac-wk2/fast/events/shadow-event-expected.txt: Added.
    185167
    1861682014-04-22  Ryosuke Niwa  <rniwa@webkit.org>
  • tags/Safari-538.31/Source/WebCore/ChangeLog

    r167735 r167778  
     12014-04-24  Matthew Hanson  <matthew_hanson@apple.com>
     2
     3        Rollout r167689.
     4
     5    2014-04-22  Ryosuke Niwa  <rniwa@webkit.org>
     6
     7            Rollout r156635 since the old behavior was intentional.
     8
     9            * page/EventHandler.cpp:
     10            (WebCore::EventHandler::selectCursor):
     11
    1122014-04-23  Benjamin Poulain  <bpoulain@apple.com>
    213
  • tags/Safari-538.31/Source/WebCore/dom/EventDispatcher.cpp

    r167689 r167778  
    9191    void updateTouchLists(const TouchEvent&);
    9292#endif
    93     void setRelatedTarget(Node& origin, EventTarget&);
     93    void setRelatedTarget(EventTarget&);
    9494
    9595    bool hasEventListeners(const AtomicString& eventType) const;
     
    149149        }
    150150
    151         if (&newTreeScope == &m_relatedNodeTreeScope)
    152             m_relatedNodeInCurrentTreeScope = &m_relatedNode;
    153         else if (m_relatedNodeInCurrentTreeScope) {
     151        if (m_relatedNodeInCurrentTreeScope) { // relatedNode is under the current tree scope
    154152            ASSERT(m_currentTreeScope);
    155153            m_relatedNodeInCurrentTreeScope = &newTarget;
    156         } else {
    157             if (!m_currentTreeScope) {
    158                 TreeScope* newTreeScopeAncestor = &newTreeScope;
    159                 do {
    160                     m_relatedNodeInCurrentTreeScope = findHostOfTreeScopeInTargetTreeScope(m_relatedNodeTreeScope, *newTreeScopeAncestor);
    161                     newTreeScopeAncestor = newTreeScopeAncestor->parentTreeScope();
    162                     if (newTreeScopeAncestor == &m_relatedNodeTreeScope) {
    163                         m_relatedNodeInCurrentTreeScope = &m_relatedNode;
    164                         break;
    165                     }
    166                 } while (newTreeScopeAncestor && !m_relatedNodeInCurrentTreeScope);
    167             }
    168             ASSERT(m_relatedNodeInCurrentTreeScope || findHostOfTreeScopeInTargetTreeScope(newTreeScope, m_relatedNodeTreeScope)
    169                 || &newTreeScope.documentScope() != &m_relatedNodeTreeScope.documentScope());
    170         }
     154        } else if (&newTreeScope == &m_relatedNodeTreeScope) // relatedNode is in the current tree scope;
     155            m_relatedNodeInCurrentTreeScope = &m_relatedNode;
     156        // Otherwise, we haven't reached the tree scope that contains relatedNode yet.
    171157
    172158        m_currentTreeScope = &newTreeScope;
    173159
    174160        return m_relatedNodeInCurrentTreeScope;
    175     }
    176 
    177     static Node* findHostOfTreeScopeInTargetTreeScope(const TreeScope& startingTreeScope, const TreeScope& targetScope)
    178     {
    179         ASSERT(&targetScope != &startingTreeScope);
    180         Node* previousHost = 0;
    181         for (const TreeScope* scope = &startingTreeScope; scope; scope = scope->parentTreeScope()) {
    182             if (scope == &targetScope) {
    183                 ASSERT(previousHost);
    184                 ASSERT_WITH_SECURITY_IMPLICATION(&previousHost->treeScope() == &targetScope);
    185                 return previousHost;
    186             }
    187             if (scope->rootNode().isShadowRoot())
    188                 previousHost = toShadowRoot(scope->rootNode()).hostElement();
    189             else
    190                 ASSERT_WITH_SECURITY_IMPLICATION(!scope->parentTreeScope());
    191         }
    192         return 0;
    193161    }
    194162
     
    338306
    339307    if (EventTarget* relatedTarget = event->relatedTarget())
    340         eventPath.setRelatedTarget(*node, *relatedTarget);
     308        eventPath.setRelatedTarget(*relatedTarget);
    341309#if ENABLE(TOUCH_EVENTS) && !PLATFORM(IOS)
    342310    if (event->isTouchEvent())
     
    485453#endif
    486454
    487 void EventPath::setRelatedTarget(Node& origin, EventTarget& relatedTarget)
     455void EventPath::setRelatedTarget(EventTarget& relatedTarget)
    488456{
    489457    Node* relatedNode = relatedTarget.toNode();
     
    493461    EventRelatedNodeResolver resolver(*relatedNode);
    494462
    495     bool originIsRelatedTarget = &origin == relatedNode;
    496     Node& rootNodeInOriginTreeScope = origin.treeScope().rootNode();
    497 
    498463    size_t eventPathSize = m_path.size();
    499     size_t i = 0;
    500     while (i < eventPathSize) {
    501         Node* contextNode = m_path[i]->node();
    502         Node* currentRelatedNode = resolver.moveToParentOrShadowHost(*contextNode);
    503         if (!originIsRelatedTarget && m_path[i]->target() == currentRelatedNode)
    504             break;
    505         toMouseOrFocusEventContext(*m_path[i]).setRelatedTarget(currentRelatedNode);
    506         i++;
    507         if (originIsRelatedTarget && &rootNodeInOriginTreeScope == contextNode)
    508             break;
    509     }
    510     m_path.shrink(i);
     464    for (size_t i = 0; i < eventPathSize; i++)
     465        toMouseOrFocusEventContext(*m_path[i]).setRelatedTarget(resolver.moveToParentOrShadowHost(*m_path[i]->node()));
    511466}
    512467
Note: See TracChangeset for help on using the changeset viewer.