| OLD | NEW | 
|     1 /* |     1 /* | 
|     2  * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |     2  * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 
|     3  *           (C) 1999 Antti Koivisto (koivisto@kde.org) |     3  *           (C) 1999 Antti Koivisto (koivisto@kde.org) | 
|     4  *           (C) 2001 Dirk Mueller (mueller@kde.org) |     4  *           (C) 2001 Dirk Mueller (mueller@kde.org) | 
|     5  *           (C) 2006 Alexey Proskuryakov (ap@webkit.org) |     5  *           (C) 2006 Alexey Proskuryakov (ap@webkit.org) | 
|     6  * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011, 2012 Apple Inc. All |     6  * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011, 2012 Apple Inc. All | 
|     7  * rights reserved. |     7  * rights reserved. | 
|     8  * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. |     8  * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. | 
|     9  * (http://www.torchmobile.com/) |     9  * (http://www.torchmobile.com/) | 
|    10  * Copyright (C) 2008, 2009, 2011, 2012 Google Inc. All rights reserved. |    10  * Copyright (C) 2008, 2009, 2011, 2012 Google Inc. All rights reserved. | 
| (...skipping 6071 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  6082   } |  6082   } | 
|  6083  |  6083  | 
|  6084   return 0; |  6084   return 0; | 
|  6085 } |  6085 } | 
|  6086  |  6086  | 
|  6087 void Document::updateHoverActiveState(const HitTestRequest& request, |  6087 void Document::updateHoverActiveState(const HitTestRequest& request, | 
|  6088                                       Element* innerElement, |  6088                                       Element* innerElement, | 
|  6089                                       Scrollbar* hitScrollbar) { |  6089                                       Scrollbar* hitScrollbar) { | 
|  6090   DCHECK(!request.readOnly()); |  6090   DCHECK(!request.readOnly()); | 
|  6091  |  6091  | 
|  6092   // Only cancel hover state when hitting native scrollbar because custom |  6092   if (request.active() && m_frame) | 
|  6093   // scrollbar's style depends on the owner element's hover state. |  | 
|  6094   bool hitNativeScrollbar = hitScrollbar && !hitScrollbar->isCustomScrollbar(); |  | 
|  6095  |  | 
|  6096   if (request.active() && m_frame && !hitNativeScrollbar) |  | 
|  6097     m_frame->eventHandler().notifyElementActivated(); |  6093     m_frame->eventHandler().notifyElementActivated(); | 
|  6098  |  6094  | 
|  6099   Element* innerElementInDocument = hitNativeScrollbar ? nullptr : innerElement; |  6095   Element* innerElementInDocument = hitScrollbar ? nullptr : innerElement; | 
 |  6096   // Replace the innerElementInDocument to be srollbar's parent when hit | 
 |  6097   // scrollbar | 
 |  6098   if (hitScrollbar) { | 
 |  6099     ScrollableArea* scrollableArea = hitScrollbar->getScrollableArea(); | 
 |  6100     if (scrollableArea && scrollableArea->layoutBox() && | 
 |  6101         scrollableArea->layoutBox()->node() && | 
 |  6102         scrollableArea->layoutBox()->node()->isElementNode()) { | 
 |  6103       innerElementInDocument = | 
 |  6104           toElement(hitScrollbar->getScrollableArea()->layoutBox()->node()); | 
 |  6105     } | 
 |  6106   } | 
 |  6107  | 
|  6100   while (innerElementInDocument && innerElementInDocument->document() != this) { |  6108   while (innerElementInDocument && innerElementInDocument->document() != this) { | 
|  6101     innerElementInDocument->document().updateHoverActiveState( |  6109     innerElementInDocument->document().updateHoverActiveState( | 
|  6102         request, innerElementInDocument, hitScrollbar); |  6110         request, innerElementInDocument, hitScrollbar); | 
|  6103     innerElementInDocument = innerElementInDocument->document().localOwner(); |  6111     innerElementInDocument = innerElementInDocument->document().localOwner(); | 
|  6104   } |  6112   } | 
|  6105  |  6113  | 
|  6106   updateDistribution(); |  6114   updateDistribution(); | 
|  6107   Element* oldActiveElement = activeHoverElement(); |  6115   Element* oldActiveElement = activeHoverElement(); | 
|  6108   if (oldActiveElement && (!request.active() || hitNativeScrollbar)) { |  6116   if (oldActiveElement && !request.active()) { | 
|  6109     // The oldActiveElement layoutObject is null, dropped on :active by setting |  6117     // The oldActiveElement layoutObject is null, dropped on :active by setting | 
|  6110     // display: none, for instance. We still need to clear the ActiveChain as |  6118     // display: none, for instance. We still need to clear the ActiveChain as | 
|  6111     // the mouse is released. |  6119     // the mouse is released. | 
|  6112     for (Node* node = oldActiveElement; node; |  6120     for (Node* node = oldActiveElement; node; | 
|  6113          node = FlatTreeTraversal::parent(*node)) { |  6121          node = FlatTreeTraversal::parent(*node)) { | 
|  6114       DCHECK(!node->isTextNode()); |  6122       DCHECK(!node->isTextNode()); | 
|  6115       node->setActive(false); |  6123       node->setActive(false); | 
|  6116       m_userActionElements.setInActiveChain(node, false); |  6124       m_userActionElements.setInActiveChain(node, false); | 
|  6117     } |  6125     } | 
|  6118     setActiveHoverElement(nullptr); |  6126     setActiveHoverElement(nullptr); | 
| (...skipping 451 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  6570 } |  6578 } | 
|  6571  |  6579  | 
|  6572 void showLiveDocumentInstances() { |  6580 void showLiveDocumentInstances() { | 
|  6573   WeakDocumentSet& set = liveDocumentSet(); |  6581   WeakDocumentSet& set = liveDocumentSet(); | 
|  6574   fprintf(stderr, "There are %u documents currently alive:\n", set.size()); |  6582   fprintf(stderr, "There are %u documents currently alive:\n", set.size()); | 
|  6575   for (blink::Document* document : set) |  6583   for (blink::Document* document : set) | 
|  6576     fprintf(stderr, "- Document %p URL: %s\n", document, |  6584     fprintf(stderr, "- Document %p URL: %s\n", document, | 
|  6577             document->url().getString().utf8().data()); |  6585             document->url().getString().utf8().data()); | 
|  6578 } |  6586 } | 
|  6579 #endif |  6587 #endif | 
| OLD | NEW |