| 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, 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 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 73 class CSSStyleSheetResource; | 73 class CSSStyleSheetResource; |
| 74 class CanvasRenderingContext2D; | 74 class CanvasRenderingContext2D; |
| 75 class CharacterData; | 75 class CharacterData; |
| 76 class Chrome; | 76 class Chrome; |
| 77 class Comment; | 77 class Comment; |
| 78 class ContentSecurityPolicyResponseHeaders; | 78 class ContentSecurityPolicyResponseHeaders; |
| 79 class ContextFeatures; | 79 class ContextFeatures; |
| 80 class CustomElementRegistrationContext; | 80 class CustomElementRegistrationContext; |
| 81 class DOMImplementation; | 81 class DOMImplementation; |
| 82 class DOMSelection; | 82 class DOMSelection; |
| 83 class DOMWindow; | 83 class LocalDOMWindow; |
| 84 class Database; | 84 class Database; |
| 85 class DatabaseThread; | 85 class DatabaseThread; |
| 86 class DocumentFragment; | 86 class DocumentFragment; |
| 87 class DocumentLifecycleNotifier; | 87 class DocumentLifecycleNotifier; |
| 88 class DocumentLifecycleObserver; | 88 class DocumentLifecycleObserver; |
| 89 class DocumentLoader; | 89 class DocumentLoader; |
| 90 class DocumentMarkerController; | 90 class DocumentMarkerController; |
| 91 class DocumentParser; | 91 class DocumentParser; |
| 92 class DocumentState; | 92 class DocumentState; |
| 93 class AnimationTimeline; | 93 class AnimationTimeline; |
| (...skipping 577 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 671 // nodeWillBeRemoved is only safe when removing one node at a time. | 671 // nodeWillBeRemoved is only safe when removing one node at a time. |
| 672 void nodeWillBeRemoved(Node&); | 672 void nodeWillBeRemoved(Node&); |
| 673 bool canReplaceChild(const Node& newChild, const Node& oldChild) const; | 673 bool canReplaceChild(const Node& newChild, const Node& oldChild) const; |
| 674 | 674 |
| 675 void didInsertText(Node*, unsigned offset, unsigned length); | 675 void didInsertText(Node*, unsigned offset, unsigned length); |
| 676 void didRemoveText(Node*, unsigned offset, unsigned length); | 676 void didRemoveText(Node*, unsigned offset, unsigned length); |
| 677 void didMergeTextNodes(Text& oldNode, unsigned offset); | 677 void didMergeTextNodes(Text& oldNode, unsigned offset); |
| 678 void didSplitTextNode(Text& oldNode); | 678 void didSplitTextNode(Text& oldNode); |
| 679 | 679 |
| 680 void clearDOMWindow() { m_domWindow = nullptr; } | 680 void clearDOMWindow() { m_domWindow = nullptr; } |
| 681 DOMWindow* domWindow() const { return m_domWindow; } | 681 LocalDOMWindow* domWindow() const { return m_domWindow; } |
| 682 | 682 |
| 683 // Helper functions for forwarding DOMWindow event related tasks to the DOMW
indow if it exists. | 683 // Helper functions for forwarding LocalDOMWindow event related tasks to the
LocalDOMWindow if it exists. |
| 684 void setWindowAttributeEventListener(const AtomicString& eventType, PassRefP
tr<EventListener>); | 684 void setWindowAttributeEventListener(const AtomicString& eventType, PassRefP
tr<EventListener>); |
| 685 EventListener* getWindowAttributeEventListener(const AtomicString& eventType
); | 685 EventListener* getWindowAttributeEventListener(const AtomicString& eventType
); |
| 686 | 686 |
| 687 static void registerEventFactory(PassOwnPtr<EventFactoryBase>); | 687 static void registerEventFactory(PassOwnPtr<EventFactoryBase>); |
| 688 static PassRefPtrWillBeRawPtr<Event> createEvent(const String& eventType, Ex
ceptionState&); | 688 static PassRefPtrWillBeRawPtr<Event> createEvent(const String& eventType, Ex
ceptionState&); |
| 689 | 689 |
| 690 // keep track of what types of event listeners are registered, so we don't | 690 // keep track of what types of event listeners are registered, so we don't |
| 691 // dispatch events unnecessarily | 691 // dispatch events unnecessarily |
| 692 enum ListenerType { | 692 enum ListenerType { |
| 693 DOMSUBTREEMODIFIED_LISTENER = 1, | 693 DOMSUBTREEMODIFIED_LISTENER = 1, |
| (...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 861 void updateFocusAppearanceSoon(bool restorePreviousSelection); | 861 void updateFocusAppearanceSoon(bool restorePreviousSelection); |
| 862 void cancelFocusAppearanceUpdate(); | 862 void cancelFocusAppearanceUpdate(); |
| 863 | 863 |
| 864 // Extension for manipulating canvas drawing contexts for use in CSS | 864 // Extension for manipulating canvas drawing contexts for use in CSS |
| 865 void getCSSCanvasContext(const String& type, const String& name, int width,
int height, bool&, RefPtrWillBeRawPtr<CanvasRenderingContext2D>&, bool&, RefPtrW
illBeRawPtr<WebGLRenderingContext>&); | 865 void getCSSCanvasContext(const String& type, const String& name, int width,
int height, bool&, RefPtrWillBeRawPtr<CanvasRenderingContext2D>&, bool&, RefPtrW
illBeRawPtr<WebGLRenderingContext>&); |
| 866 HTMLCanvasElement& getCSSCanvasElement(const String& name); | 866 HTMLCanvasElement& getCSSCanvasElement(const String& name); |
| 867 | 867 |
| 868 bool isDNSPrefetchEnabled() const { return m_isDNSPrefetchEnabled; } | 868 bool isDNSPrefetchEnabled() const { return m_isDNSPrefetchEnabled; } |
| 869 void parseDNSPrefetchControlHeader(const String&); | 869 void parseDNSPrefetchControlHeader(const String&); |
| 870 | 870 |
| 871 // FIXME(crbug.com/305497): This should be removed once DOMWindow is an Exec
utionContext. | 871 // FIXME(crbug.com/305497): This should be removed once LocalDOMWindow is an
ExecutionContext. |
| 872 virtual void postTask(PassOwnPtr<ExecutionContextTask>) OVERRIDE; // Execute
s the task on context's thread asynchronously. | 872 virtual void postTask(PassOwnPtr<ExecutionContextTask>) OVERRIDE; // Execute
s the task on context's thread asynchronously. |
| 873 | 873 |
| 874 virtual void tasksWereSuspended() OVERRIDE FINAL; | 874 virtual void tasksWereSuspended() OVERRIDE FINAL; |
| 875 virtual void tasksWereResumed() OVERRIDE FINAL; | 875 virtual void tasksWereResumed() OVERRIDE FINAL; |
| 876 virtual void suspendScheduledTasks() OVERRIDE FINAL; | 876 virtual void suspendScheduledTasks() OVERRIDE FINAL; |
| 877 virtual void resumeScheduledTasks() OVERRIDE FINAL; | 877 virtual void resumeScheduledTasks() OVERRIDE FINAL; |
| 878 virtual bool tasksNeedSuspension() OVERRIDE FINAL; | 878 virtual bool tasksNeedSuspension() OVERRIDE FINAL; |
| 879 | 879 |
| 880 void finishedParsing(); | 880 void finishedParsing(); |
| 881 | 881 |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 941 void exitPointerLock(); | 941 void exitPointerLock(); |
| 942 Element* pointerLockElement() const; | 942 Element* pointerLockElement() const; |
| 943 | 943 |
| 944 // Used to allow element that loads data without going through a FrameLoader
to delay the 'load' event. | 944 // Used to allow element that loads data without going through a FrameLoader
to delay the 'load' event. |
| 945 void incrementLoadEventDelayCount() { ++m_loadEventDelayCount; } | 945 void incrementLoadEventDelayCount() { ++m_loadEventDelayCount; } |
| 946 void decrementLoadEventDelayCount(); | 946 void decrementLoadEventDelayCount(); |
| 947 void checkLoadEventSoon(); | 947 void checkLoadEventSoon(); |
| 948 bool isDelayingLoadEvent(); | 948 bool isDelayingLoadEvent(); |
| 949 void loadPluginsSoon(); | 949 void loadPluginsSoon(); |
| 950 | 950 |
| 951 PassRefPtrWillBeRawPtr<Touch> createTouch(DOMWindow*, EventTarget*, int iden
tifier, double pageX, double pageY, double screenX, double screenY, double radiu
sX, double radiusY, float rotationAngle, float force) const; | 951 PassRefPtrWillBeRawPtr<Touch> createTouch(LocalDOMWindow*, EventTarget*, int
identifier, double pageX, double pageY, double screenX, double screenY, double
radiusX, double radiusY, float rotationAngle, float force) const; |
| 952 PassRefPtrWillBeRawPtr<TouchList> createTouchList(WillBeHeapVector<RefPtrWil
lBeMember<Touch> >&) const; | 952 PassRefPtrWillBeRawPtr<TouchList> createTouchList(WillBeHeapVector<RefPtrWil
lBeMember<Touch> >&) const; |
| 953 | 953 |
| 954 const DocumentTiming& timing() const { return m_documentTiming; } | 954 const DocumentTiming& timing() const { return m_documentTiming; } |
| 955 | 955 |
| 956 int requestAnimationFrame(PassOwnPtr<RequestAnimationFrameCallback>); | 956 int requestAnimationFrame(PassOwnPtr<RequestAnimationFrameCallback>); |
| 957 void cancelAnimationFrame(int id); | 957 void cancelAnimationFrame(int id); |
| 958 void serviceScriptedAnimations(double monotonicAnimationStartTime); | 958 void serviceScriptedAnimations(double monotonicAnimationStartTime); |
| 959 | 959 |
| 960 virtual EventTarget* errorEventTarget() OVERRIDE FINAL; | 960 virtual EventTarget* errorEventTarget() OVERRIDE FINAL; |
| 961 virtual void logExceptionToConsole(const String& errorMessage, const String&
sourceURL, int lineNumber, int columnNumber, PassRefPtrWillBeRawPtr<ScriptCallS
tack>) OVERRIDE FINAL; | 961 virtual void logExceptionToConsole(const String& errorMessage, const String&
sourceURL, int lineNumber, int columnNumber, PassRefPtrWillBeRawPtr<ScriptCallS
tack>) OVERRIDE FINAL; |
| 962 | 962 |
| 963 void initDNSPrefetch(); | 963 void initDNSPrefetch(); |
| 964 | 964 |
| 965 bool hasTouchEventHandlers() const { return (m_touchEventTargets.get()) ? m_
touchEventTargets->size() : false; } | 965 bool hasTouchEventHandlers() const { return (m_touchEventTargets.get()) ? m_
touchEventTargets->size() : false; } |
| 966 | 966 |
| 967 // Called when a single touch event handler has been added or removed for a
node. | 967 // Called when a single touch event handler has been added or removed for a
node. |
| 968 // The Node should always be in this Document, except for child Documents wh
ich report | 968 // The Node should always be in this Document, except for child Documents wh
ich report |
| 969 // themselves to their parent exactly once if they have any touch handlers. | 969 // themselves to their parent exactly once if they have any touch handlers. |
| 970 // Handlers added/removed from the DOMWindow are reported as the Document. | 970 // Handlers added/removed from the LocalDOMWindow are reported as the Docume
nt. |
| 971 void didAddTouchEventHandler(Node*); | 971 void didAddTouchEventHandler(Node*); |
| 972 void didRemoveTouchEventHandler(Node* handler) { didRemoveTouchEventHandler(
handler, false); } | 972 void didRemoveTouchEventHandler(Node* handler) { didRemoveTouchEventHandler(
handler, false); } |
| 973 | 973 |
| 974 // Called whenever all touch event handlers have been removed for a node (su
ch as when the | 974 // Called whenever all touch event handlers have been removed for a node (su
ch as when the |
| 975 // node itself is being removed from the document). | 975 // node itself is being removed from the document). |
| 976 void didClearTouchEventHandlers(Node* handler) { didRemoveTouchEventHandler(
handler, true); } | 976 void didClearTouchEventHandlers(Node* handler) { didRemoveTouchEventHandler(
handler, true); } |
| 977 | 977 |
| 978 const TouchEventTargetSet* touchEventTargets() const { return m_touchEventTa
rgets.get(); } | 978 const TouchEventTargetSet* touchEventTargets() const { return m_touchEventTa
rgets.get(); } |
| 979 | 979 |
| 980 bool isInDocumentWrite() { return m_writeRecursionDepth > 0; } | 980 bool isInDocumentWrite() { return m_writeRecursionDepth > 0; } |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1032 | 1032 |
| 1033 // A non-null m_templateDocumentHost implies that |this| was created by ensu
reTemplateDocument(). | 1033 // A non-null m_templateDocumentHost implies that |this| was created by ensu
reTemplateDocument(). |
| 1034 bool isTemplateDocument() const { return !!m_templateDocumentHost; } | 1034 bool isTemplateDocument() const { return !!m_templateDocumentHost; } |
| 1035 Document& ensureTemplateDocument(); | 1035 Document& ensureTemplateDocument(); |
| 1036 Document* templateDocumentHost() { return m_templateDocumentHost; } | 1036 Document* templateDocumentHost() { return m_templateDocumentHost; } |
| 1037 | 1037 |
| 1038 void didAssociateFormControl(Element*); | 1038 void didAssociateFormControl(Element*); |
| 1039 | 1039 |
| 1040 void addConsoleMessageWithRequestIdentifier(MessageSource, MessageLevel, con
st String& message, unsigned long requestIdentifier); | 1040 void addConsoleMessageWithRequestIdentifier(MessageSource, MessageLevel, con
st String& message, unsigned long requestIdentifier); |
| 1041 | 1041 |
| 1042 virtual DOMWindow* executingWindow() OVERRIDE FINAL; | 1042 virtual LocalDOMWindow* executingWindow() OVERRIDE FINAL; |
| 1043 LocalFrame* executingFrame(); | 1043 LocalFrame* executingFrame(); |
| 1044 | 1044 |
| 1045 DocumentLifecycleNotifier& lifecycleNotifier(); | 1045 DocumentLifecycleNotifier& lifecycleNotifier(); |
| 1046 DocumentLifecycle& lifecycle() { return m_lifecycle; } | 1046 DocumentLifecycle& lifecycle() { return m_lifecycle; } |
| 1047 bool isActive() const { return m_lifecycle.isActive(); } | 1047 bool isActive() const { return m_lifecycle.isActive(); } |
| 1048 bool isStopped() const { return m_lifecycle.state() == DocumentLifecycle::St
opped; } | 1048 bool isStopped() const { return m_lifecycle.state() == DocumentLifecycle::St
opped; } |
| 1049 bool isDisposed() const { return m_lifecycle.state() == DocumentLifecycle::D
isposed; } | 1049 bool isDisposed() const { return m_lifecycle.state() == DocumentLifecycle::D
isposed; } |
| 1050 | 1050 |
| 1051 enum HttpRefreshType { | 1051 enum HttpRefreshType { |
| 1052 HttpRefreshFromHeader, | 1052 HttpRefreshFromHeader, |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1148 | 1148 |
| 1149 void executeScriptsWaitingForResourcesTimerFired(Timer<Document>*); | 1149 void executeScriptsWaitingForResourcesTimerFired(Timer<Document>*); |
| 1150 | 1150 |
| 1151 void loadEventDelayTimerFired(Timer<Document>*); | 1151 void loadEventDelayTimerFired(Timer<Document>*); |
| 1152 void pluginLoadingTimerFired(Timer<Document>*); | 1152 void pluginLoadingTimerFired(Timer<Document>*); |
| 1153 | 1153 |
| 1154 PageVisibilityState pageVisibilityState() const; | 1154 PageVisibilityState pageVisibilityState() const; |
| 1155 | 1155 |
| 1156 PassRefPtrWillBeRawPtr<HTMLCollection> ensureCachedCollection(CollectionType
); | 1156 PassRefPtrWillBeRawPtr<HTMLCollection> ensureCachedCollection(CollectionType
); |
| 1157 | 1157 |
| 1158 // Note that dispatching a window load event may cause the DOMWindow to be d
etached from | 1158 // Note that dispatching a window load event may cause the LocalDOMWindow to
be detached from |
| 1159 // the LocalFrame, so callers should take a reference to the DOMWindow (whic
h owns us) to | 1159 // the LocalFrame, so callers should take a reference to the LocalDOMWindow
(which owns us) to |
| 1160 // prevent the Document from getting blown away from underneath them. | 1160 // prevent the Document from getting blown away from underneath them. |
| 1161 void dispatchWindowLoadEvent(); | 1161 void dispatchWindowLoadEvent(); |
| 1162 | 1162 |
| 1163 void addListenerType(ListenerType listenerType) { m_listenerTypes |= listene
rType; } | 1163 void addListenerType(ListenerType listenerType) { m_listenerTypes |= listene
rType; } |
| 1164 void addMutationEventListenerTypeIfEnabled(ListenerType); | 1164 void addMutationEventListenerTypeIfEnabled(ListenerType); |
| 1165 | 1165 |
| 1166 void didAssociateFormControlsTimerFired(Timer<Document>*); | 1166 void didAssociateFormControlsTimerFired(Timer<Document>*); |
| 1167 | 1167 |
| 1168 void clearFocusedElementSoon(); | 1168 void clearFocusedElementSoon(); |
| 1169 void clearFocusedElementTimerFired(Timer<Document>*); | 1169 void clearFocusedElementTimerFired(Timer<Document>*); |
| (...skipping 18 matching lines...) Expand all Loading... |
| 1188 | 1188 |
| 1189 bool m_hasNodesWithPlaceholderStyle; | 1189 bool m_hasNodesWithPlaceholderStyle; |
| 1190 bool m_evaluateMediaQueriesOnStyleRecalc; | 1190 bool m_evaluateMediaQueriesOnStyleRecalc; |
| 1191 | 1191 |
| 1192 // If we do ignore the pending stylesheet count, then we need to add a boole
an | 1192 // If we do ignore the pending stylesheet count, then we need to add a boole
an |
| 1193 // to track that this happened so that we can do a full repaint when the sty
lesheets | 1193 // to track that this happened so that we can do a full repaint when the sty
lesheets |
| 1194 // do eventually load. | 1194 // do eventually load. |
| 1195 PendingSheetLayout m_pendingSheetLayout; | 1195 PendingSheetLayout m_pendingSheetLayout; |
| 1196 | 1196 |
| 1197 LocalFrame* m_frame; | 1197 LocalFrame* m_frame; |
| 1198 RawPtrWillBeMember<DOMWindow> m_domWindow; | 1198 RawPtrWillBeMember<LocalDOMWindow> m_domWindow; |
| 1199 // FIXME: oilpan: when we get rid of the transition types change the | 1199 // FIXME: oilpan: when we get rid of the transition types change the |
| 1200 // HTMLImportsController to not be a DocumentSupplement since it is | 1200 // HTMLImportsController to not be a DocumentSupplement since it is |
| 1201 // redundant with oilpan. | 1201 // redundant with oilpan. |
| 1202 RawPtrWillBeMember<HTMLImportsController> m_importsController; | 1202 RawPtrWillBeMember<HTMLImportsController> m_importsController; |
| 1203 | 1203 |
| 1204 RefPtrWillBeMember<ResourceFetcher> m_fetcher; | 1204 RefPtrWillBeMember<ResourceFetcher> m_fetcher; |
| 1205 RefPtrWillBeMember<DocumentParser> m_parser; | 1205 RefPtrWillBeMember<DocumentParser> m_parser; |
| 1206 unsigned m_activeParserCount; | 1206 unsigned m_activeParserCount; |
| 1207 RefPtrWillBeMember<ContextFeatures> m_contextFeatures; | 1207 RefPtrWillBeMember<ContextFeatures> m_contextFeatures; |
| 1208 | 1208 |
| (...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1451 inline bool Node::isDocumentNode() const | 1451 inline bool Node::isDocumentNode() const |
| 1452 { | 1452 { |
| 1453 return this == document(); | 1453 return this == document(); |
| 1454 } | 1454 } |
| 1455 | 1455 |
| 1456 Node* eventTargetNodeForDocument(Document*); | 1456 Node* eventTargetNodeForDocument(Document*); |
| 1457 | 1457 |
| 1458 } // namespace WebCore | 1458 } // namespace WebCore |
| 1459 | 1459 |
| 1460 #endif // Document_h | 1460 #endif // Document_h |
| OLD | NEW |