Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(291)

Side by Side Diff: third_party/WebKit/Source/core/dom/Document.h

Issue 2787943002: [WIP] Use the flat tree for hover handling.
Patch Set: Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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, 2010, 2012 Apple Inc. All 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 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) 2010 Nokia Corporation and/or its subsidiary(-ies) 10 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
(...skipping 690 matching lines...) Expand 10 before | Expand all | Expand 10 after
701 return m_userActionElements; 701 return m_userActionElements;
702 } 702 }
703 void setAutofocusElement(Element*); 703 void setAutofocusElement(Element*);
704 Element* autofocusElement() const { return m_autofocusElement.get(); } 704 Element* autofocusElement() const { return m_autofocusElement.get(); }
705 void setSequentialFocusNavigationStartingPoint(Node*); 705 void setSequentialFocusNavigationStartingPoint(Node*);
706 Element* sequentialFocusNavigationStartingPoint(WebFocusType) const; 706 Element* sequentialFocusNavigationStartingPoint(WebFocusType) const;
707 707
708 void setActiveHoverElement(Element*); 708 void setActiveHoverElement(Element*);
709 Element* activeHoverElement() const { return m_activeHoverElement.get(); } 709 Element* activeHoverElement() const { return m_activeHoverElement.get(); }
710 710
711 Node* hoverNode() const { return m_hoverNode.get(); } 711 Element* hoverElement() const { return m_hoverElement.get(); }
712 712
713 void removeFocusedElementOfSubtree(Node*, bool amongChildrenOnly = false); 713 void removeFocusedElementOfSubtree(Node*, bool amongChildrenOnly = false);
714 void hoveredNodeDetached(Element&); 714 void hoveredNodeDetached(Element&);
715 void activeChainNodeDetached(Element&); 715 void activeChainNodeDetached(Element&);
716 716
717 void updateHoverActiveState(const HitTestRequest&, Element*, Scrollbar*); 717 void updateHoverActiveState(const HitTestRequest&, Element*, Scrollbar*);
718 718
719 // Updates for :target (CSS3 selector). 719 // Updates for :target (CSS3 selector).
720 void setCSSTarget(Element*); 720 void setCSSTarget(Element*);
721 Element* cssTarget() const { return m_cssTarget; } 721 Element* cssTarget() const { return m_cssTarget; }
(...skipping 671 matching lines...) Expand 10 before | Expand all | Expand 10 after
1393 1393
1394 void didAssociateFormControlsTimerFired(TimerBase*); 1394 void didAssociateFormControlsTimerFired(TimerBase*);
1395 1395
1396 void clearFocusedElementSoon(); 1396 void clearFocusedElementSoon();
1397 void clearFocusedElementTimerFired(TimerBase*); 1397 void clearFocusedElementTimerFired(TimerBase*);
1398 1398
1399 bool haveScriptBlockingStylesheetsLoaded() const; 1399 bool haveScriptBlockingStylesheetsLoaded() const;
1400 bool haveRenderBlockingStylesheetsLoaded() const; 1400 bool haveRenderBlockingStylesheetsLoaded() const;
1401 void styleResolverMayHaveChanged(); 1401 void styleResolverMayHaveChanged();
1402 1402
1403 void setHoverNode(Node*); 1403 void setHoverElement(Element*);
1404 1404
1405 using EventFactorySet = HashSet<std::unique_ptr<EventFactoryBase>>; 1405 using EventFactorySet = HashSet<std::unique_ptr<EventFactoryBase>>;
1406 static EventFactorySet& eventFactories(); 1406 static EventFactorySet& eventFactories();
1407 1407
1408 void setNthIndexCache(NthIndexCache* nthIndexCache) { 1408 void setNthIndexCache(NthIndexCache* nthIndexCache) {
1409 DCHECK(!m_nthIndexCache || !nthIndexCache); 1409 DCHECK(!m_nthIndexCache || !nthIndexCache);
1410 m_nthIndexCache = nthIndexCache; 1410 m_nthIndexCache = nthIndexCache;
1411 } 1411 }
1412 1412
1413 const OriginAccessEntry& accessEntryFromURL(); 1413 const OriginAccessEntry& accessEntryFromURL();
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
1468 // This is cheaper than making setCompatibilityMode virtual. 1468 // This is cheaper than making setCompatibilityMode virtual.
1469 bool m_compatibilityModeLocked; 1469 bool m_compatibilityModeLocked;
1470 1470
1471 TaskHandle m_executeScriptsWaitingForResourcesTaskHandle; 1471 TaskHandle m_executeScriptsWaitingForResourcesTaskHandle;
1472 1472
1473 bool m_hasAutofocused; 1473 bool m_hasAutofocused;
1474 TaskRunnerTimer<Document> m_clearFocusedElementTimer; 1474 TaskRunnerTimer<Document> m_clearFocusedElementTimer;
1475 Member<Element> m_autofocusElement; 1475 Member<Element> m_autofocusElement;
1476 Member<Element> m_focusedElement; 1476 Member<Element> m_focusedElement;
1477 Member<Range> m_sequentialFocusNavigationStartingPoint; 1477 Member<Range> m_sequentialFocusNavigationStartingPoint;
1478 Member<Node> m_hoverNode; 1478 Member<Element> m_hoverElement;
1479 Member<Element> m_activeHoverElement; 1479 Member<Element> m_activeHoverElement;
1480 Member<Element> m_documentElement; 1480 Member<Element> m_documentElement;
1481 UserActionElementSet m_userActionElements; 1481 UserActionElementSet m_userActionElements;
1482 Member<RootScrollerController> m_rootScrollerController; 1482 Member<RootScrollerController> m_rootScrollerController;
1483 1483
1484 uint64_t m_domTreeVersion; 1484 uint64_t m_domTreeVersion;
1485 static uint64_t s_globalTreeVersion; 1485 static uint64_t s_globalTreeVersion;
1486 1486
1487 uint64_t m_styleVersion; 1487 uint64_t m_styleVersion;
1488 1488
(...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after
1710 DEFINE_TYPE_CASTS(TreeScope, Document, document, true, true); 1710 DEFINE_TYPE_CASTS(TreeScope, Document, document, true, true);
1711 1711
1712 } // namespace blink 1712 } // namespace blink
1713 1713
1714 #ifndef NDEBUG 1714 #ifndef NDEBUG
1715 // Outside the WebCore namespace for ease of invocation from gdb. 1715 // Outside the WebCore namespace for ease of invocation from gdb.
1716 CORE_EXPORT void showLiveDocumentInstances(); 1716 CORE_EXPORT void showLiveDocumentInstances();
1717 #endif 1717 #endif
1718 1718
1719 #endif // Document_h 1719 #endif // Document_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698