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

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

Issue 645443003: Move parts of core/dom to C++11 (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fixed nit Created 6 years, 2 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | Source/core/dom/Document.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 r ights reserved. 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 Apple Inc. All r ights reserved.
7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/) 7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/)
8 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) 8 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
9 * Copyright (C) 2011 Google Inc. All rights reserved. 9 * Copyright (C) 2011 Google Inc. All rights reserved.
10 * 10 *
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 class Touch; 148 class Touch;
149 class TouchList; 149 class TouchList;
150 class TransformSource; 150 class TransformSource;
151 class TreeWalker; 151 class TreeWalker;
152 class VisitedLinkState; 152 class VisitedLinkState;
153 class WebGLRenderingContext; 153 class WebGLRenderingContext;
154 154
155 struct AnnotatedRegionValue; 155 struct AnnotatedRegionValue;
156 struct IconURL; 156 struct IconURL;
157 157
158 typedef EventWithHitTestResults<PlatformMouseEvent> MouseEventWithHitTestResults ; 158 using MouseEventWithHitTestResults = EventWithHitTestResults<PlatformMouseEvent> ;
159 typedef int ExceptionCode; 159 using ExceptionCode = int;
160 160
161 enum StyleResolverUpdateMode { 161 enum StyleResolverUpdateMode {
162 // Discards the StyleResolver and rebuilds it. 162 // Discards the StyleResolver and rebuilds it.
163 FullStyleUpdate, 163 FullStyleUpdate,
164 // Attempts to use StyleInvalidationAnalysis to avoid discarding the entire StyleResolver. 164 // Attempts to use StyleInvalidationAnalysis to avoid discarding the entire StyleResolver.
165 AnalyzedStyleUpdate 165 AnalyzedStyleUpdate
166 }; 166 };
167 167
168 enum NodeListInvalidationType { 168 enum NodeListInvalidationType {
169 DoNotInvalidateOnAttributeChanges = 0, 169 DoNotInvalidateOnAttributeChanges = 0,
(...skipping 11 matching lines...) Expand all
181 DefaultDocumentClass = 0, 181 DefaultDocumentClass = 0,
182 HTMLDocumentClass = 1, 182 HTMLDocumentClass = 1,
183 XHTMLDocumentClass = 1 << 1, 183 XHTMLDocumentClass = 1 << 1,
184 ImageDocumentClass = 1 << 2, 184 ImageDocumentClass = 1 << 2,
185 PluginDocumentClass = 1 << 3, 185 PluginDocumentClass = 1 << 3,
186 MediaDocumentClass = 1 << 4, 186 MediaDocumentClass = 1 << 4,
187 SVGDocumentClass = 1 << 5, 187 SVGDocumentClass = 1 << 5,
188 XMLDocumentClass = 1 << 6, 188 XMLDocumentClass = 1 << 6,
189 }; 189 };
190 190
191 typedef unsigned char DocumentClassFlags; 191 using DocumentClassFlags = unsigned char;
192 192
193 class Document; 193 class Document;
194 194
195 class DocumentVisibilityObserver : public WillBeGarbageCollectedMixin { 195 class DocumentVisibilityObserver : public WillBeGarbageCollectedMixin {
196 public: 196 public:
197 DocumentVisibilityObserver(Document&); 197 DocumentVisibilityObserver(Document&);
198 virtual ~DocumentVisibilityObserver(); 198 virtual ~DocumentVisibilityObserver();
199 199
200 virtual void didChangeVisibilityState(PageVisibilityState) = 0; 200 virtual void didChangeVisibilityState(PageVisibilityState) = 0;
201 201
(...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after
491 Document& axObjectCacheOwner() const; 491 Document& axObjectCacheOwner() const;
492 AXObjectCache* existingAXObjectCache() const; 492 AXObjectCache* existingAXObjectCache() const;
493 AXObjectCache* axObjectCache() const; 493 AXObjectCache* axObjectCache() const;
494 void clearAXObjectCache(); 494 void clearAXObjectCache();
495 495
496 // to get visually ordered hebrew and arabic pages right 496 // to get visually ordered hebrew and arabic pages right
497 bool visuallyOrdered() const { return m_visuallyOrdered; } 497 bool visuallyOrdered() const { return m_visuallyOrdered; }
498 498
499 DocumentLoader* loader() const; 499 DocumentLoader* loader() const;
500 500
501 void open(Document* ownerDocument = 0, ExceptionState& = ASSERT_NO_EXCEPTION ); 501 void open(Document* ownerDocument = nullptr, ExceptionState& = ASSERT_NO_EXC EPTION);
502 PassRefPtrWillBeRawPtr<DocumentParser> implicitOpen(); 502 PassRefPtrWillBeRawPtr<DocumentParser> implicitOpen();
503 503
504 // close() is the DOM API document.close() 504 // close() is the DOM API document.close()
505 void close(ExceptionState& = ASSERT_NO_EXCEPTION); 505 void close(ExceptionState& = ASSERT_NO_EXCEPTION);
506 // In some situations (see the code), we ignore document.close(). 506 // In some situations (see the code), we ignore document.close().
507 // explicitClose() bypass these checks and actually tries to close the 507 // explicitClose() bypass these checks and actually tries to close the
508 // input stream. 508 // input stream.
509 void explicitClose(); 509 void explicitClose();
510 // implicitClose() actually does the work of closing the input stream. 510 // implicitClose() actually does the work of closing the input stream.
511 void implicitClose(); 511 void implicitClose();
512 512
513 bool dispatchBeforeUnloadEvent(Chrome&, bool&); 513 bool dispatchBeforeUnloadEvent(Chrome&, bool&);
514 void dispatchUnloadEvents(); 514 void dispatchUnloadEvents();
515 515
516 enum PageDismissalType { 516 enum PageDismissalType {
517 NoDismissal = 0, 517 NoDismissal = 0,
518 BeforeUnloadDismissal = 1, 518 BeforeUnloadDismissal = 1,
519 PageHideDismissal = 2, 519 PageHideDismissal = 2,
520 UnloadDismissal = 3 520 UnloadDismissal = 3
521 }; 521 };
522 PageDismissalType pageDismissalEventBeingDispatched() const; 522 PageDismissalType pageDismissalEventBeingDispatched() const;
523 523
524 void cancelParsing(); 524 void cancelParsing();
525 525
526 void write(const SegmentedString& text, Document* ownerDocument = 0, Excepti onState& = ASSERT_NO_EXCEPTION); 526 void write(const SegmentedString& text, Document* ownerDocument = nullptr, E xceptionState& = ASSERT_NO_EXCEPTION);
527 void write(const String& text, Document* ownerDocument = 0, ExceptionState& = ASSERT_NO_EXCEPTION); 527 void write(const String& text, Document* ownerDocument = nullptr, ExceptionS tate& = ASSERT_NO_EXCEPTION);
528 void writeln(const String& text, Document* ownerDocument = 0, ExceptionState & = ASSERT_NO_EXCEPTION); 528 void writeln(const String& text, Document* ownerDocument = nullptr, Exceptio nState& = ASSERT_NO_EXCEPTION);
529 529
530 bool wellFormed() const { return m_wellFormed; } 530 bool wellFormed() const { return m_wellFormed; }
531 531
532 const KURL& url() const { return m_url; } 532 const KURL& url() const { return m_url; }
533 void setURL(const KURL&); 533 void setURL(const KURL&);
534 534
535 // To understand how these concepts relate to one another, please see the 535 // To understand how these concepts relate to one another, please see the
536 // comments surrounding their declaration. 536 // comments surrounding their declaration.
537 const KURL& baseURL() const { return m_baseURL; } 537 const KURL& baseURL() const { return m_baseURL; }
538 void setBaseURLOverride(const KURL&); 538 void setBaseURLOverride(const KURL&);
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
610 void setAutofocusElement(Element*); 610 void setAutofocusElement(Element*);
611 Element* autofocusElement() const { return m_autofocusElement.get(); } 611 Element* autofocusElement() const { return m_autofocusElement.get(); }
612 612
613 void setActiveHoverElement(PassRefPtrWillBeRawPtr<Element>); 613 void setActiveHoverElement(PassRefPtrWillBeRawPtr<Element>);
614 Element* activeHoverElement() const { return m_activeHoverElement.get(); } 614 Element* activeHoverElement() const { return m_activeHoverElement.get(); }
615 615
616 void removeFocusedElementOfSubtree(Node*, bool amongChildrenOnly = false); 616 void removeFocusedElementOfSubtree(Node*, bool amongChildrenOnly = false);
617 void hoveredNodeDetached(Node*); 617 void hoveredNodeDetached(Node*);
618 void activeChainNodeDetached(Node*); 618 void activeChainNodeDetached(Node*);
619 619
620 void updateHoverActiveState(const HitTestRequest&, Element*, const PlatformM ouseEvent* = 0); 620 void updateHoverActiveState(const HitTestRequest&, Element*, const PlatformM ouseEvent* = nullptr);
621 621
622 // Updates for :target (CSS3 selector). 622 // Updates for :target (CSS3 selector).
623 void setCSSTarget(Element*); 623 void setCSSTarget(Element*);
624 Element* cssTarget() const { return m_cssTarget; } 624 Element* cssTarget() const { return m_cssTarget; }
625 625
626 void scheduleRenderTreeUpdateIfNeeded(); 626 void scheduleRenderTreeUpdateIfNeeded();
627 bool hasPendingForcedStyleRecalc() const; 627 bool hasPendingForcedStyleRecalc() const;
628 628
629 void registerNodeList(const LiveNodeListBase*); 629 void registerNodeList(const LiveNodeListBase*);
630 void unregisterNodeList(const LiveNodeListBase*); 630 void unregisterNodeList(const LiveNodeListBase*);
631 void registerNodeListWithIdNameCache(const LiveNodeListBase*); 631 void registerNodeListWithIdNameCache(const LiveNodeListBase*);
632 void unregisterNodeListWithIdNameCache(const LiveNodeListBase*); 632 void unregisterNodeListWithIdNameCache(const LiveNodeListBase*);
633 bool shouldInvalidateNodeListCaches(const QualifiedName* attrName = 0) const ; 633 bool shouldInvalidateNodeListCaches(const QualifiedName* attrName = nullptr) const;
634 void invalidateNodeListCaches(const QualifiedName* attrName); 634 void invalidateNodeListCaches(const QualifiedName* attrName);
635 635
636 void attachNodeIterator(NodeIterator*); 636 void attachNodeIterator(NodeIterator*);
637 void detachNodeIterator(NodeIterator*); 637 void detachNodeIterator(NodeIterator*);
638 void moveNodeIteratorsToNewDocument(Node&, Document&); 638 void moveNodeIteratorsToNewDocument(Node&, Document&);
639 639
640 void attachRange(Range*); 640 void attachRange(Range*);
641 void detachRange(Range*); 641 void detachRange(Range*);
642 642
643 void updateRangesAfterChildrenChanged(ContainerNode*); 643 void updateRangesAfterChildrenChanged(ContainerNode*);
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
701 * 701 *
702 * @param equiv The http header name (value of the meta tag's "equiv" attrib ute) 702 * @param equiv The http header name (value of the meta tag's "equiv" attrib ute)
703 * @param content The header value (value of the meta tag's "content" attrib ute) 703 * @param content The header value (value of the meta tag's "content" attrib ute)
704 * @param inDocumentHeadElement Is the element in the document's <head> elem ent? 704 * @param inDocumentHeadElement Is the element in the document's <head> elem ent?
705 */ 705 */
706 void processHttpEquiv(const AtomicString& equiv, const AtomicString& content , bool inDocumentHeadElement); 706 void processHttpEquiv(const AtomicString& equiv, const AtomicString& content , bool inDocumentHeadElement);
707 void updateViewportDescription(); 707 void updateViewportDescription();
708 void processReferrerPolicy(const String& policy); 708 void processReferrerPolicy(const String& policy);
709 709
710 // Returns the owning element in the parent document. 710 // Returns the owning element in the parent document.
711 // Returns 0 if this is the top level document. 711 // Returns nullptr if this is the top level document.
712 HTMLFrameOwnerElement* ownerElement() const; 712 HTMLFrameOwnerElement* ownerElement() const;
713 713
714 // Returns true if this document belongs to a frame that the parent document 714 // Returns true if this document belongs to a frame that the parent document
715 // made invisible (for instance by setting as style display:none). 715 // made invisible (for instance by setting as style display:none).
716 bool isInInvisibleSubframe() const; 716 bool isInInvisibleSubframe() const;
717 717
718 String title() const { return m_title; } 718 String title() const { return m_title; }
719 void setTitle(const String&); 719 void setTitle(const String&);
720 720
721 Element* titleElement() const { return m_titleElement.get(); } 721 Element* titleElement() const { return m_titleElement.get(); }
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
766 766
767 HTMLElement* body() const; 767 HTMLElement* body() const;
768 void setBody(PassRefPtrWillBeRawPtr<HTMLElement>, ExceptionState&); 768 void setBody(PassRefPtrWillBeRawPtr<HTMLElement>, ExceptionState&);
769 769
770 HTMLHeadElement* head() const; 770 HTMLHeadElement* head() const;
771 771
772 // Decide which element is to define the viewport's overflow policy. If |roo tStyle| is set, use 772 // Decide which element is to define the viewport's overflow policy. If |roo tStyle| is set, use
773 // that as the style for the root element, rather than obtaining it on our o wn. The reason for 773 // that as the style for the root element, rather than obtaining it on our o wn. The reason for
774 // this is that style may not have been associated with the elements yet - i n which case it may 774 // this is that style may not have been associated with the elements yet - i n which case it may
775 // have been calculated on the fly (without associating it with the actual e lement) somewhere. 775 // have been calculated on the fly (without associating it with the actual e lement) somewhere.
776 Element* viewportDefiningElement(RenderStyle* rootStyle = 0) const; 776 Element* viewportDefiningElement(RenderStyle* rootStyle = nullptr) const;
777 777
778 DocumentMarkerController& markers() const { return *m_markers; } 778 DocumentMarkerController& markers() const { return *m_markers; }
779 779
780 bool directionSetOnDocumentElement() const { return m_directionSetOnDocument Element; } 780 bool directionSetOnDocumentElement() const { return m_directionSetOnDocument Element; }
781 bool writingModeSetOnDocumentElement() const { return m_writingModeSetOnDocu mentElement; } 781 bool writingModeSetOnDocumentElement() const { return m_writingModeSetOnDocu mentElement; }
782 void setDirectionSetOnDocumentElement(bool b) { m_directionSetOnDocumentElem ent = b; } 782 void setDirectionSetOnDocumentElement(bool b) { m_directionSetOnDocumentElem ent = b; }
783 void setWritingModeSetOnDocumentElement(bool b) { m_writingModeSetOnDocument Element = b; } 783 void setWritingModeSetOnDocumentElement(bool b) { m_writingModeSetOnDocument Element = b; }
784 784
785 bool execCommand(const String& command, bool userInterface = false, const St ring& value = String()); 785 bool execCommand(const String& command, bool userInterface = false, const St ring& value = String());
786 bool queryCommandEnabled(const String& command); 786 bool queryCommandEnabled(const String& command);
(...skipping 11 matching lines...) Expand all
798 bool inDesignMode() const; 798 bool inDesignMode() const;
799 String designMode() const; 799 String designMode() const;
800 void setDesignMode(const String&); 800 void setDesignMode(const String&);
801 801
802 Document* parentDocument() const; 802 Document* parentDocument() const;
803 Document& topDocument() const; 803 Document& topDocument() const;
804 WeakPtrWillBeRawPtr<Document> contextDocument(); 804 WeakPtrWillBeRawPtr<Document> contextDocument();
805 805
806 ScriptRunner* scriptRunner() { return m_scriptRunner.get(); } 806 ScriptRunner* scriptRunner() { return m_scriptRunner.get(); }
807 807
808 HTMLScriptElement* currentScript() const { return !m_currentScriptStack.isEm pty() ? m_currentScriptStack.last().get() : 0; } 808 HTMLScriptElement* currentScript() const { return !m_currentScriptStack.isEm pty() ? m_currentScriptStack.last().get() : nullptr; }
809 void pushCurrentScript(PassRefPtrWillBeRawPtr<HTMLScriptElement>); 809 void pushCurrentScript(PassRefPtrWillBeRawPtr<HTMLScriptElement>);
810 void popCurrentScript(); 810 void popCurrentScript();
811 811
812 void applyXSLTransform(ProcessingInstruction* pi); 812 void applyXSLTransform(ProcessingInstruction* pi);
813 PassRefPtrWillBeRawPtr<Document> transformSourceDocument() { return m_transf ormSourceDocument; } 813 PassRefPtrWillBeRawPtr<Document> transformSourceDocument() { return m_transf ormSourceDocument; }
814 void setTransformSourceDocument(Document* doc) { m_transformSourceDocument = doc; } 814 void setTransformSourceDocument(Document* doc) { m_transformSourceDocument = doc; }
815 815
816 void setTransformSource(PassOwnPtr<TransformSource>); 816 void setTransformSource(PassOwnPtr<TransformSource>);
817 TransformSource* transformSource() const { return m_transformSource.get(); } 817 TransformSource* transformSource() const { return m_transformSource.get(); }
818 818
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
909 virtual bool isJSExecutionForbidden() const override final { return false; } 909 virtual bool isJSExecutionForbidden() const override final { return false; }
910 910
911 bool containsValidityStyleRules() const { return m_containsValidityStyleRule s; } 911 bool containsValidityStyleRules() const { return m_containsValidityStyleRule s; }
912 void setContainsValidityStyleRules() { m_containsValidityStyleRules = true; } 912 void setContainsValidityStyleRules() { m_containsValidityStyleRules = true; }
913 913
914 void enqueueResizeEvent(); 914 void enqueueResizeEvent();
915 void enqueueScrollEventForNode(Node*); 915 void enqueueScrollEventForNode(Node*);
916 void enqueueAnimationFrameEvent(PassRefPtrWillBeRawPtr<Event>); 916 void enqueueAnimationFrameEvent(PassRefPtrWillBeRawPtr<Event>);
917 // Only one event for a target/event type combination will be dispatched per frame. 917 // Only one event for a target/event type combination will be dispatched per frame.
918 void enqueueUniqueAnimationFrameEvent(PassRefPtrWillBeRawPtr<Event>); 918 void enqueueUniqueAnimationFrameEvent(PassRefPtrWillBeRawPtr<Event>);
919 void enqueueMediaQueryChangeListeners(WillBeHeapVector<RefPtrWillBeMember<Me diaQueryListListener> >&); 919 void enqueueMediaQueryChangeListeners(WillBeHeapVector<RefPtrWillBeMember<Me diaQueryListListener>>&);
920 920
921 bool hasFullscreenSupplement() const { return m_hasFullscreenSupplement; } 921 bool hasFullscreenSupplement() const { return m_hasFullscreenSupplement; }
922 void setHasFullscreenSupplement() { m_hasFullscreenSupplement = true; } 922 void setHasFullscreenSupplement() { m_hasFullscreenSupplement = true; }
923 923
924 void exitPointerLock(); 924 void exitPointerLock();
925 Element* pointerLockElement() const; 925 Element* pointerLockElement() const;
926 926
927 // Used to allow element that loads data without going through a FrameLoader to delay the 'load' event. 927 // Used to allow element that loads data without going through a FrameLoader to delay the 'load' event.
928 void incrementLoadEventDelayCount() { ++m_loadEventDelayCount; } 928 void incrementLoadEventDelayCount() { ++m_loadEventDelayCount; }
929 void decrementLoadEventDelayCount(); 929 void decrementLoadEventDelayCount();
930 void checkLoadEventSoon(); 930 void checkLoadEventSoon();
931 bool isDelayingLoadEvent(); 931 bool isDelayingLoadEvent();
932 void loadPluginsSoon(); 932 void loadPluginsSoon();
933 933
934 PassRefPtrWillBeRawPtr<Touch> createTouch(LocalDOMWindow*, EventTarget*, int identifier, double pageX, double pageY, double screenX, double screenY, double radiusX, double radiusY, float rotationAngle, float force) const; 934 PassRefPtrWillBeRawPtr<Touch> createTouch(LocalDOMWindow*, EventTarget*, int identifier, double pageX, double pageY, double screenX, double screenY, double radiusX, double radiusY, float rotationAngle, float force) const;
935 PassRefPtrWillBeRawPtr<TouchList> createTouchList(WillBeHeapVector<RefPtrWil lBeMember<Touch> >&) const; 935 PassRefPtrWillBeRawPtr<TouchList> createTouchList(WillBeHeapVector<RefPtrWil lBeMember<Touch>>&) const;
936 936
937 const DocumentTiming& timing() const { return m_documentTiming; } 937 const DocumentTiming& timing() const { return m_documentTiming; }
938 938
939 int requestAnimationFrame(RequestAnimationFrameCallback*); 939 int requestAnimationFrame(RequestAnimationFrameCallback*);
940 void cancelAnimationFrame(int id); 940 void cancelAnimationFrame(int id);
941 void serviceScriptedAnimations(double monotonicAnimationStartTime); 941 void serviceScriptedAnimations(double monotonicAnimationStartTime);
942 942
943 virtual EventTarget* errorEventTarget() override final; 943 virtual EventTarget* errorEventTarget() override final;
944 virtual void logExceptionToConsole(const String& errorMessage, int scriptId, const String& sourceURL, int lineNumber, int columnNumber, PassRefPtrWillBeRawP tr<ScriptCallStack>) override final; 944 virtual void logExceptionToConsole(const String& errorMessage, int scriptId, const String& sourceURL, int lineNumber, int columnNumber, PassRefPtrWillBeRawP tr<ScriptCallStack>) override final;
945 945
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
984 984
985 bool inStyleRecalc() const { return m_lifecycle.state() == DocumentLifecycle ::InStyleRecalc; } 985 bool inStyleRecalc() const { return m_lifecycle.state() == DocumentLifecycle ::InStyleRecalc; }
986 986
987 // Return a Locale for the default locale if the argument is null or empty. 987 // Return a Locale for the default locale if the argument is null or empty.
988 Locale& getCachedLocale(const AtomicString& locale = nullAtom); 988 Locale& getCachedLocale(const AtomicString& locale = nullAtom);
989 989
990 AnimationClock& animationClock() { return m_animationClock; } 990 AnimationClock& animationClock() { return m_animationClock; }
991 AnimationTimeline& timeline() const { return *m_timeline; } 991 AnimationTimeline& timeline() const { return *m_timeline; }
992 CompositorPendingAnimations& compositorPendingAnimations() { return m_compos itorPendingAnimations; } 992 CompositorPendingAnimations& compositorPendingAnimations() { return m_compos itorPendingAnimations; }
993 993
994 void addToTopLayer(Element*, const Element* before = 0); 994 void addToTopLayer(Element*, const Element* before = nullptr);
995 void removeFromTopLayer(Element*); 995 void removeFromTopLayer(Element*);
996 const WillBeHeapVector<RefPtrWillBeMember<Element> >& topLayerElements() con st { return m_topLayerElements; } 996 const WillBeHeapVector<RefPtrWillBeMember<Element>>& topLayerElements() cons t { return m_topLayerElements; }
997 HTMLDialogElement* activeModalDialog() const; 997 HTMLDialogElement* activeModalDialog() const;
998 998
999 // A non-null m_templateDocumentHost implies that |this| was created by ensu reTemplateDocument(). 999 // A non-null m_templateDocumentHost implies that |this| was created by ensu reTemplateDocument().
1000 bool isTemplateDocument() const { return !!m_templateDocumentHost; } 1000 bool isTemplateDocument() const { return !!m_templateDocumentHost; }
1001 Document& ensureTemplateDocument(); 1001 Document& ensureTemplateDocument();
1002 Document* templateDocumentHost() { return m_templateDocumentHost; } 1002 Document* templateDocumentHost() { return m_templateDocumentHost; }
1003 1003
1004 void didAssociateFormControl(Element*); 1004 void didAssociateFormControl(Element*);
1005 1005
1006 virtual void addConsoleMessage(PassRefPtrWillBeRawPtr<ConsoleMessage>) overr ide final; 1006 virtual void addConsoleMessage(PassRefPtrWillBeRawPtr<ConsoleMessage>) overr ide final;
1007 1007
1008 virtual LocalDOMWindow* executingWindow() override final; 1008 virtual LocalDOMWindow* executingWindow() override final;
1009 LocalFrame* executingFrame(); 1009 LocalFrame* executingFrame();
1010 1010
1011 DocumentLifecycleNotifier& lifecycleNotifier(); 1011 DocumentLifecycleNotifier& lifecycleNotifier();
1012 DocumentLifecycle& lifecycle() { return m_lifecycle; } 1012 DocumentLifecycle& lifecycle() { return m_lifecycle; }
1013 bool isActive() const { return m_lifecycle.isActive(); } 1013 bool isActive() const { return m_lifecycle.isActive(); }
1014 bool isStopped() const { return m_lifecycle.state() == DocumentLifecycle::St opped; } 1014 bool isStopped() const { return m_lifecycle.state() == DocumentLifecycle::St opped; }
1015 bool isDisposed() const { return m_lifecycle.state() == DocumentLifecycle::D isposed; } 1015 bool isDisposed() const { return m_lifecycle.state() == DocumentLifecycle::D isposed; }
1016 1016
1017 enum HttpRefreshType { 1017 enum HttpRefreshType {
1018 HttpRefreshFromHeader, 1018 HttpRefreshFromHeader,
1019 HttpRefreshFromMetaTag 1019 HttpRefreshFromMetaTag
1020 }; 1020 };
1021 void maybeHandleHttpRefresh(const String&, HttpRefreshType); 1021 void maybeHandleHttpRefresh(const String&, HttpRefreshType);
1022 1022
1023 void updateSecurityOrigin(PassRefPtr<SecurityOrigin>); 1023 void updateSecurityOrigin(PassRefPtr<SecurityOrigin>);
1024 PassOwnPtr<LifecycleNotifier<Document> > createLifecycleNotifier(); 1024 PassOwnPtr<LifecycleNotifier<Document>> createLifecycleNotifier();
1025 1025
1026 void setHasViewportUnits() { m_hasViewportUnits = true; } 1026 void setHasViewportUnits() { m_hasViewportUnits = true; }
1027 bool hasViewportUnits() const { return m_hasViewportUnits; } 1027 bool hasViewportUnits() const { return m_hasViewportUnits; }
1028 void notifyResizeForViewportUnits(); 1028 void notifyResizeForViewportUnits();
1029 1029
1030 void registerVisibilityObserver(DocumentVisibilityObserver*); 1030 void registerVisibilityObserver(DocumentVisibilityObserver*);
1031 void unregisterVisibilityObserver(DocumentVisibilityObserver*); 1031 void unregisterVisibilityObserver(DocumentVisibilityObserver*);
1032 1032
1033 void updateStyleInvalidationIfNeeded(); 1033 void updateStyleInvalidationIfNeeded();
1034 1034
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
1142 void processHttpEquivRefresh(const AtomicString& content); 1142 void processHttpEquivRefresh(const AtomicString& content);
1143 void processHttpEquivSetCookie(const AtomicString& content); 1143 void processHttpEquivSetCookie(const AtomicString& content);
1144 void processHttpEquivXFrameOptions(const AtomicString& content); 1144 void processHttpEquivXFrameOptions(const AtomicString& content);
1145 void processHttpEquivContentSecurityPolicy(const AtomicString& equiv, const AtomicString& content); 1145 void processHttpEquivContentSecurityPolicy(const AtomicString& equiv, const AtomicString& content);
1146 1146
1147 bool haveStylesheetsLoaded() const; 1147 bool haveStylesheetsLoaded() const;
1148 1148
1149 void setHoverNode(PassRefPtrWillBeRawPtr<Node>); 1149 void setHoverNode(PassRefPtrWillBeRawPtr<Node>);
1150 Node* hoverNode() const { return m_hoverNode.get(); } 1150 Node* hoverNode() const { return m_hoverNode.get(); }
1151 1151
1152 typedef HashSet<OwnPtr<EventFactoryBase> > EventFactorySet; 1152 using EventFactorySet = HashSet<OwnPtr<EventFactoryBase>>;
1153 static EventFactorySet& eventFactories(); 1153 static EventFactorySet& eventFactories();
1154 1154
1155 DocumentLifecycle m_lifecycle; 1155 DocumentLifecycle m_lifecycle;
1156 1156
1157 bool m_hasNodesWithPlaceholderStyle; 1157 bool m_hasNodesWithPlaceholderStyle;
1158 bool m_evaluateMediaQueriesOnStyleRecalc; 1158 bool m_evaluateMediaQueriesOnStyleRecalc;
1159 1159
1160 // If we do ignore the pending stylesheet count, then we need to add a boole an 1160 // If we do ignore the pending stylesheet count, then we need to add a boole an
1161 // to track that this happened so that we can do a full repaint when the sty lesheets 1161 // to track that this happened so that we can do a full repaint when the sty lesheets
1162 // do eventually load. 1162 // do eventually load.
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
1206 RefPtrWillBeMember<Element> m_autofocusElement; 1206 RefPtrWillBeMember<Element> m_autofocusElement;
1207 RefPtrWillBeMember<Element> m_focusedElement; 1207 RefPtrWillBeMember<Element> m_focusedElement;
1208 RefPtrWillBeMember<Node> m_hoverNode; 1208 RefPtrWillBeMember<Node> m_hoverNode;
1209 RefPtrWillBeMember<Element> m_activeHoverElement; 1209 RefPtrWillBeMember<Element> m_activeHoverElement;
1210 RefPtrWillBeMember<Element> m_documentElement; 1210 RefPtrWillBeMember<Element> m_documentElement;
1211 UserActionElementSet m_userActionElements; 1211 UserActionElementSet m_userActionElements;
1212 1212
1213 uint64_t m_domTreeVersion; 1213 uint64_t m_domTreeVersion;
1214 static uint64_t s_globalTreeVersion; 1214 static uint64_t s_globalTreeVersion;
1215 1215
1216 WillBeHeapHashSet<RawPtrWillBeWeakMember<NodeIterator> > m_nodeIterators; 1216 WillBeHeapHashSet<RawPtrWillBeWeakMember<NodeIterator>> m_nodeIterators;
1217 typedef WillBeHeapHashSet<RawPtrWillBeWeakMember<Range> > AttachedRangeSet; 1217 using AttachedRangeSet = WillBeHeapHashSet<RawPtrWillBeWeakMember<Range>>;
1218 AttachedRangeSet m_ranges; 1218 AttachedRangeSet m_ranges;
1219 1219
1220 unsigned short m_listenerTypes; 1220 unsigned short m_listenerTypes;
1221 1221
1222 MutationObserverOptions m_mutationObserverTypes; 1222 MutationObserverOptions m_mutationObserverTypes;
1223 1223
1224 OwnPtrWillBeMember<StyleEngine> m_styleEngine; 1224 OwnPtrWillBeMember<StyleEngine> m_styleEngine;
1225 RefPtrWillBeMember<StyleSheetList> m_styleSheetList; 1225 RefPtrWillBeMember<StyleSheetList> m_styleSheetList;
1226 1226
1227 OwnPtrWillBeMember<FormController> m_formController; 1227 OwnPtrWillBeMember<FormController> m_formController;
(...skipping 25 matching lines...) Expand all
1253 Timer<Document> m_updateFocusAppearanceTimer; 1253 Timer<Document> m_updateFocusAppearanceTimer;
1254 1254
1255 RawPtrWillBeMember<Element> m_cssTarget; 1255 RawPtrWillBeMember<Element> m_cssTarget;
1256 1256
1257 LoadEventProgress m_loadEventProgress; 1257 LoadEventProgress m_loadEventProgress;
1258 1258
1259 double m_startTime; 1259 double m_startTime;
1260 1260
1261 OwnPtrWillBeMember<ScriptRunner> m_scriptRunner; 1261 OwnPtrWillBeMember<ScriptRunner> m_scriptRunner;
1262 1262
1263 WillBeHeapVector<RefPtrWillBeMember<HTMLScriptElement> > m_currentScriptStac k; 1263 WillBeHeapVector<RefPtrWillBeMember<HTMLScriptElement>> m_currentScriptStack ;
1264 1264
1265 OwnPtr<TransformSource> m_transformSource; 1265 OwnPtr<TransformSource> m_transformSource;
1266 RefPtrWillBeMember<Document> m_transformSourceDocument; 1266 RefPtrWillBeMember<Document> m_transformSourceDocument;
1267 1267
1268 String m_xmlEncoding; 1268 String m_xmlEncoding;
1269 String m_xmlVersion; 1269 String m_xmlVersion;
1270 unsigned m_xmlStandalone : 2; 1270 unsigned m_xmlStandalone : 2;
1271 unsigned m_hasXMLDeclaration : 1; 1271 unsigned m_hasXMLDeclaration : 1;
1272 1272
1273 AtomicString m_contentLanguage; 1273 AtomicString m_contentLanguage;
1274 1274
1275 DocumentEncodingData m_encodingData; 1275 DocumentEncodingData m_encodingData;
1276 1276
1277 InheritedBool m_designMode; 1277 InheritedBool m_designMode;
1278 1278
1279 WillBeHeapHashSet<RawPtrWillBeWeakMember<const LiveNodeListBase> > m_listsIn validatedAtDocument; 1279 WillBeHeapHashSet<RawPtrWillBeWeakMember<const LiveNodeListBase>> m_listsInv alidatedAtDocument;
1280 #if ENABLE(OILPAN) 1280 #if ENABLE(OILPAN)
1281 // Oilpan keeps track of all registered NodeLists. 1281 // Oilpan keeps track of all registered NodeLists.
1282 // 1282 //
1283 // FIXME: Oilpan: improve - only need to know if a NodeList 1283 // FIXME: Oilpan: improve - only need to know if a NodeList
1284 // is currently alive or not for the different types. 1284 // is currently alive or not for the different types.
1285 HeapHashSet<WeakMember<const LiveNodeListBase> > m_nodeLists[numNodeListInva lidationTypes]; 1285 HeapHashSet<WeakMember<const LiveNodeListBase>> m_nodeLists[numNodeListInval idationTypes];
1286 #else 1286 #else
1287 unsigned m_nodeListCounts[numNodeListInvalidationTypes]; 1287 unsigned m_nodeListCounts[numNodeListInvalidationTypes];
1288 #endif 1288 #endif
1289 1289
1290 OwnPtrWillBeMember<SVGDocumentExtensions> m_svgExtensions; 1290 OwnPtrWillBeMember<SVGDocumentExtensions> m_svgExtensions;
1291 1291
1292 Vector<AnnotatedRegionValue> m_annotatedRegions; 1292 Vector<AnnotatedRegionValue> m_annotatedRegions;
1293 bool m_hasAnnotatedRegions; 1293 bool m_hasAnnotatedRegions;
1294 bool m_annotatedRegionsDirty; 1294 bool m_annotatedRegionsDirty;
1295 1295
1296 WillBeHeapHashMap<String, RefPtrWillBeMember<HTMLCanvasElement> > m_cssCanva sElements; 1296 WillBeHeapHashMap<String, RefPtrWillBeMember<HTMLCanvasElement>> m_cssCanvas Elements;
1297 1297
1298 OwnPtr<SelectorQueryCache> m_selectorQueryCache; 1298 OwnPtr<SelectorQueryCache> m_selectorQueryCache;
1299 1299
1300 bool m_useSecureKeyboardEntryWhenActive; 1300 bool m_useSecureKeyboardEntryWhenActive;
1301 1301
1302 DocumentClassFlags m_documentClasses; 1302 DocumentClassFlags m_documentClasses;
1303 1303
1304 bool m_isViewSource; 1304 bool m_isViewSource;
1305 bool m_sawElementsInKnownNamespaces; 1305 bool m_sawElementsInKnownNamespaces;
1306 bool m_isSrcdocDocument; 1306 bool m_isSrcdocDocument;
1307 bool m_isMobileDocument; 1307 bool m_isMobileDocument;
1308 bool m_isTransitionDocument; 1308 bool m_isTransitionDocument;
1309 1309
1310 RenderView* m_renderView; 1310 RenderView* m_renderView;
1311 1311
1312 #if !ENABLE(OILPAN) 1312 #if !ENABLE(OILPAN)
1313 WeakPtrFactory<Document> m_weakFactory; 1313 WeakPtrFactory<Document> m_weakFactory;
1314 #endif 1314 #endif
1315 WeakPtrWillBeWeakMember<Document> m_contextDocument; 1315 WeakPtrWillBeWeakMember<Document> m_contextDocument;
1316 1316
1317 bool m_hasFullscreenSupplement; // For early return in Fullscreen::fromIfExi sts() 1317 bool m_hasFullscreenSupplement; // For early return in Fullscreen::fromIfExi sts()
1318 1318
1319 WillBeHeapVector<RefPtrWillBeMember<Element> > m_topLayerElements; 1319 WillBeHeapVector<RefPtrWillBeMember<Element>> m_topLayerElements;
1320 1320
1321 int m_loadEventDelayCount; 1321 int m_loadEventDelayCount;
1322 Timer<Document> m_loadEventDelayTimer; 1322 Timer<Document> m_loadEventDelayTimer;
1323 Timer<Document> m_pluginLoadingTimer; 1323 Timer<Document> m_pluginLoadingTimer;
1324 1324
1325 ViewportDescription m_viewportDescription; 1325 ViewportDescription m_viewportDescription;
1326 ViewportDescription m_legacyViewportDescription; 1326 ViewportDescription m_legacyViewportDescription;
1327 Length m_viewportDefaultMinWidth; 1327 Length m_viewportDefaultMinWidth;
1328 1328
1329 bool m_didSetReferrerPolicy; 1329 bool m_didSetReferrerPolicy;
(...skipping 11 matching lines...) Expand all
1341 OwnPtrWillBeMember<TextAutosizer> m_textAutosizer; 1341 OwnPtrWillBeMember<TextAutosizer> m_textAutosizer;
1342 1342
1343 RefPtrWillBeMember<CustomElementRegistrationContext> m_registrationContext; 1343 RefPtrWillBeMember<CustomElementRegistrationContext> m_registrationContext;
1344 RefPtrWillBeMember<CustomElementMicrotaskRunQueue> m_customElementMicrotaskR unQueue; 1344 RefPtrWillBeMember<CustomElementMicrotaskRunQueue> m_customElementMicrotaskR unQueue;
1345 1345
1346 void elementDataCacheClearTimerFired(Timer<Document>*); 1346 void elementDataCacheClearTimerFired(Timer<Document>*);
1347 Timer<Document> m_elementDataCacheClearTimer; 1347 Timer<Document> m_elementDataCacheClearTimer;
1348 1348
1349 OwnPtrWillBeMember<ElementDataCache> m_elementDataCache; 1349 OwnPtrWillBeMember<ElementDataCache> m_elementDataCache;
1350 1350
1351 typedef HashMap<AtomicString, OwnPtr<Locale> > LocaleIdentifierToLocaleMap; 1351 using LocaleIdentifierToLocaleMap = HashMap<AtomicString, OwnPtr<Locale>>;
1352 LocaleIdentifierToLocaleMap m_localeCache; 1352 LocaleIdentifierToLocaleMap m_localeCache;
1353 1353
1354 AnimationClock m_animationClock; 1354 AnimationClock m_animationClock;
1355 RefPtrWillBeMember<AnimationTimeline> m_timeline; 1355 RefPtrWillBeMember<AnimationTimeline> m_timeline;
1356 CompositorPendingAnimations m_compositorPendingAnimations; 1356 CompositorPendingAnimations m_compositorPendingAnimations;
1357 1357
1358 RefPtrWillBeMember<Document> m_templateDocument; 1358 RefPtrWillBeMember<Document> m_templateDocument;
1359 // With Oilpan the templateDocument and the templateDocumentHost 1359 // With Oilpan the templateDocument and the templateDocumentHost
1360 // live and die together. Without Oilpan, the templateDocumentHost 1360 // live and die together. Without Oilpan, the templateDocumentHost
1361 // is a manually managed backpointer from m_templateDocument. 1361 // is a manually managed backpointer from m_templateDocument.
1362 RawPtrWillBeMember<Document> m_templateDocumentHost; 1362 RawPtrWillBeMember<Document> m_templateDocumentHost;
1363 1363
1364 Timer<Document> m_didAssociateFormControlsTimer; 1364 Timer<Document> m_didAssociateFormControlsTimer;
1365 WillBeHeapHashSet<RefPtrWillBeMember<Element> > m_associatedFormControls; 1365 WillBeHeapHashSet<RefPtrWillBeMember<Element>> m_associatedFormControls;
1366 1366
1367 WillBeHeapHashSet<RawPtrWillBeMember<SVGUseElement> > m_useElementsNeedingUp date; 1367 WillBeHeapHashSet<RawPtrWillBeMember<SVGUseElement>> m_useElementsNeedingUpd ate;
1368 WillBeHeapHashSet<RawPtrWillBeMember<Element> > m_layerUpdateSVGFilterElemen ts; 1368 WillBeHeapHashSet<RawPtrWillBeMember<Element>> m_layerUpdateSVGFilterElement s;
1369 1369
1370 bool m_hasViewportUnits; 1370 bool m_hasViewportUnits;
1371 1371
1372 typedef WillBeHeapHashSet<RawPtrWillBeWeakMember<DocumentVisibilityObserver> > DocumentVisibilityObserverSet; 1372 using DocumentVisibilityObserverSet = WillBeHeapHashSet<RawPtrWillBeWeakMemb er<DocumentVisibilityObserver>>;
1373 DocumentVisibilityObserverSet m_visibilityObservers; 1373 DocumentVisibilityObserverSet m_visibilityObservers;
1374 1374
1375 int m_styleRecalcElementCounter; 1375 int m_styleRecalcElementCounter;
1376 }; 1376 };
1377 1377
1378 inline bool Document::shouldOverrideLegacyDescription(ViewportDescription::Type origin) 1378 inline bool Document::shouldOverrideLegacyDescription(ViewportDescription::Type origin)
1379 { 1379 {
1380 // The different (legacy) meta tags have different priorities based on the t ype 1380 // The different (legacy) meta tags have different priorities based on the t ype
1381 // regardless of which order they appear in the DOM. The priority is given b y the 1381 // regardless of which order they appear in the DOM. The priority is given b y the
1382 // ViewportDescription::Type enum. 1382 // ViewportDescription::Type enum.
(...skipping 28 matching lines...) Expand all
1411 Node* eventTargetNodeForDocument(Document*); 1411 Node* eventTargetNodeForDocument(Document*);
1412 1412
1413 } // namespace blink 1413 } // namespace blink
1414 1414
1415 #ifndef NDEBUG 1415 #ifndef NDEBUG
1416 // Outside the WebCore namespace for ease of invocation from gdb. 1416 // Outside the WebCore namespace for ease of invocation from gdb.
1417 void showLiveDocumentInstances(); 1417 void showLiveDocumentInstances();
1418 #endif 1418 #endif
1419 1419
1420 #endif // Document_h 1420 #endif // Document_h
OLDNEW
« no previous file with comments | « no previous file | Source/core/dom/Document.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698