| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * (C) 2004-2005 Allan Sandfeld Jensen (kde@carewolf.com) | 3 * (C) 2004-2005 Allan Sandfeld Jensen (kde@carewolf.com) |
| 4 * Copyright (C) 2006, 2007 Nicholas Shanks (webkit@nickshanks.com) | 4 * Copyright (C) 2006, 2007 Nicholas Shanks (webkit@nickshanks.com) |
| 5 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc.
All rights reserved. | 5 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc.
All rights reserved. |
| 6 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> | 6 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> |
| 7 * Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org> | 7 * Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org> |
| 8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) | 8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) |
| 9 * Copyright (c) 2011, Code Aurora Forum. All rights reserved. | 9 * Copyright (c) 2011, Code Aurora Forum. All rights reserved. |
| 10 * Copyright (C) Research In Motion Limited 2011. All rights reserved. | 10 * Copyright (C) Research In Motion Limited 2011. All rights reserved. |
| (...skipping 22 matching lines...) Expand all Loading... |
| 33 #include "core/css/CSSSelectorList.h" | 33 #include "core/css/CSSSelectorList.h" |
| 34 #include "core/css/SiblingTraversalStrategies.h" | 34 #include "core/css/SiblingTraversalStrategies.h" |
| 35 #include "core/dom/Document.h" | 35 #include "core/dom/Document.h" |
| 36 #include "core/dom/Element.h" | 36 #include "core/dom/Element.h" |
| 37 #include "core/dom/FullscreenController.h" | 37 #include "core/dom/FullscreenController.h" |
| 38 #include "core/dom/NodeRenderStyle.h" | 38 #include "core/dom/NodeRenderStyle.h" |
| 39 #include "core/dom/Text.h" | 39 #include "core/dom/Text.h" |
| 40 #include "core/dom/shadow/InsertionPoint.h" | 40 #include "core/dom/shadow/InsertionPoint.h" |
| 41 #include "core/dom/shadow/ShadowRoot.h" | 41 #include "core/dom/shadow/ShadowRoot.h" |
| 42 #include "core/editing/FrameSelection.h" | 42 #include "core/editing/FrameSelection.h" |
| 43 #include "core/html/HTMLAnchorElement.h" |
| 43 #include "core/html/HTMLDocument.h" | 44 #include "core/html/HTMLDocument.h" |
| 44 #include "core/html/HTMLFrameElementBase.h" | 45 #include "core/html/HTMLFrameElementBase.h" |
| 45 #include "core/html/HTMLInputElement.h" | 46 #include "core/html/HTMLInputElement.h" |
| 46 #include "core/html/HTMLOptionElement.h" | 47 #include "core/html/HTMLOptionElement.h" |
| 47 #include "core/html/parser/HTMLParserIdioms.h" | 48 #include "core/html/parser/HTMLParserIdioms.h" |
| 48 #include "core/inspector/InspectorInstrumentation.h" | 49 #include "core/inspector/InspectorInstrumentation.h" |
| 49 #include "core/page/FocusController.h" | 50 #include "core/page/FocusController.h" |
| 50 #include "core/page/Frame.h" | 51 #include "core/page/Frame.h" |
| 51 #include "core/page/Page.h" | 52 #include "core/page/Page.h" |
| 52 #include "core/platform/ScrollableArea.h" | 53 #include "core/platform/ScrollableArea.h" |
| (...skipping 530 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 583 element->setChildrenAffectedByDrag(true); | 584 element->setChildrenAffectedByDrag(true); |
| 584 } | 585 } |
| 585 if (element->renderer() && element->renderer()->isDragging()) | 586 if (element->renderer() && element->renderer()->isDragging()) |
| 586 return true; | 587 return true; |
| 587 break; | 588 break; |
| 588 case CSSSelector::PseudoFocus: | 589 case CSSSelector::PseudoFocus: |
| 589 return matchesFocusPseudoClass(element); | 590 return matchesFocusPseudoClass(element); |
| 590 case CSSSelector::PseudoHover: | 591 case CSSSelector::PseudoHover: |
| 591 // If we're in quirks mode, then hover should never match anchors wi
th no | 592 // If we're in quirks mode, then hover should never match anchors wi
th no |
| 592 // href and *:hover should not match anything. This is important for
sites like wsj.com. | 593 // href and *:hover should not match anything. This is important for
sites like wsj.com. |
| 593 if (m_strictParsing || context.isSubSelector || (selector->m_match =
= CSSSelector::Tag && selector->tagQName() != anyQName() && !element->hasTagName
(aTag)) || element->isLink()) { | 594 if (m_strictParsing || context.isSubSelector || (selector->m_match =
= CSSSelector::Tag && selector->tagQName() != anyQName() && !isHTMLAnchorElement
(element)) || element->isLink()) { |
| 594 if (m_mode == ResolvingStyle) { | 595 if (m_mode == ResolvingStyle) { |
| 595 if (context.elementStyle) | 596 if (context.elementStyle) |
| 596 context.elementStyle->setAffectedByHover(); | 597 context.elementStyle->setAffectedByHover(); |
| 597 else | 598 else |
| 598 element->setChildrenAffectedByHover(true); | 599 element->setChildrenAffectedByHover(true); |
| 599 } | 600 } |
| 600 if (element->hovered() || InspectorInstrumentation::forcePseudoS
tate(element, CSSSelector::PseudoHover)) | 601 if (element->hovered() || InspectorInstrumentation::forcePseudoS
tate(element, CSSSelector::PseudoHover)) |
| 601 return true; | 602 return true; |
| 602 } | 603 } |
| 603 break; | 604 break; |
| 604 case CSSSelector::PseudoActive: | 605 case CSSSelector::PseudoActive: |
| 605 // If we're in quirks mode, then :active should never match anchors
with no | 606 // If we're in quirks mode, then :active should never match anchors
with no |
| 606 // href and *:active should not match anything. | 607 // href and *:active should not match anything. |
| 607 if (m_strictParsing || context.isSubSelector || (selector->m_match =
= CSSSelector::Tag && selector->tagQName() != anyQName() && !element->hasTagName
(aTag)) || element->isLink()) { | 608 if (m_strictParsing || context.isSubSelector || (selector->m_match =
= CSSSelector::Tag && selector->tagQName() != anyQName() && !isHTMLAnchorElement
(element)) || element->isLink()) { |
| 608 if (m_mode == ResolvingStyle) { | 609 if (m_mode == ResolvingStyle) { |
| 609 if (context.elementStyle) | 610 if (context.elementStyle) |
| 610 context.elementStyle->setAffectedByActive(); | 611 context.elementStyle->setAffectedByActive(); |
| 611 else | 612 else |
| 612 element->setChildrenAffectedByActive(true); | 613 element->setChildrenAffectedByActive(true); |
| 613 } | 614 } |
| 614 if (element->active() || InspectorInstrumentation::forcePseudoSt
ate(element, CSSSelector::PseudoActive)) | 615 if (element->active() || InspectorInstrumentation::forcePseudoSt
ate(element, CSSSelector::PseudoActive)) |
| 615 return true; | 616 return true; |
| 616 } | 617 } |
| 617 break; | 618 break; |
| (...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 910 return element->focused() && isFrameFocused(element); | 911 return element->focused() && isFrameFocused(element); |
| 911 } | 912 } |
| 912 | 913 |
| 913 template | 914 template |
| 914 SelectorChecker::Match SelectorChecker::match(const SelectorCheckingContext&, Ps
eudoId&, const DOMSiblingTraversalStrategy&) const; | 915 SelectorChecker::Match SelectorChecker::match(const SelectorCheckingContext&, Ps
eudoId&, const DOMSiblingTraversalStrategy&) const; |
| 915 | 916 |
| 916 template | 917 template |
| 917 SelectorChecker::Match SelectorChecker::match(const SelectorCheckingContext&, Ps
eudoId&, const ShadowDOMSiblingTraversalStrategy&) const; | 918 SelectorChecker::Match SelectorChecker::match(const SelectorCheckingContext&, Ps
eudoId&, const ShadowDOMSiblingTraversalStrategy&) const; |
| 918 | 919 |
| 919 } | 920 } |
| OLD | NEW |