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

Unified Diff: Source/core/dom/Document.cpp

Issue 14280004: Revert removal of events (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/dom/Document.h ('k') | Source/core/dom/Document.idl » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/dom/Document.cpp
diff --git a/Source/core/dom/Document.cpp b/Source/core/dom/Document.cpp
index e3ff783900ca656fd499106a88c7daf2f48be5c4..52720ed565115c2818536b1702e63f83e4a6e284 100644
--- a/Source/core/dom/Document.cpp
+++ b/Source/core/dom/Document.cpp
@@ -169,7 +169,6 @@
#include "TextAutosizer.h"
#include "TextResourceDecoder.h"
#include "Timer.h"
-#include "TouchList.h"
#include "TraceEvent.h"
#include "TransformSource.h"
#include "TreeWalker.h"
@@ -210,6 +209,10 @@
#include "SVGStyleElement.h"
#endif
+#if ENABLE(TOUCH_EVENTS)
+#include "TouchList.h"
+#endif
+
#if ENABLE(MATHML)
#include "MathMLElement.h"
#include "MathMLElementFactory.h"
@@ -552,8 +555,10 @@ Document::~Document()
if (m_templateDocument)
m_templateDocument->setTemplateDocumentHost(0); // balanced in templateDocument().
+#if ENABLE(TOUCH_EVENT_TRACKING)
if (Document* ownerDocument = this->ownerDocument())
ownerDocument->didRemoveEventTargetNode(this);
+#endif
// FIXME: Should we reset m_domWindow when we detach from the Frame?
if (m_domWindow)
m_domWindow->resetUnlessSuspendedForPageCache();
@@ -2006,8 +2011,10 @@ void Document::detach()
if (render)
render->destroy();
+#if ENABLE(TOUCH_EVENTS)
if (m_touchEventTargets && m_touchEventTargets->size() && parentDocument())
parentDocument()->didRemoveEventTargetNode(this);
+#endif
// This is required, as our Frame might delete itself as soon as it detaches
// us. However, this violates Node::detach() semantics, as it's never
@@ -5411,6 +5418,7 @@ void Document::serviceScriptedAnimations(double monotonicAnimationStartTime)
m_scriptedAnimationController->serviceScriptedAnimations(monotonicAnimationStartTime);
}
+#if ENABLE(TOUCH_EVENTS)
PassRefPtr<Touch> Document::createTouch(DOMWindow* window, EventTarget* target, int identifier, int pageX, int pageY, int screenX, int screenY, int radiusX, int radiusY, float rotationAngle, float force, ExceptionCode&) const
{
// FIXME: It's not clear from the documentation at
@@ -5420,6 +5428,7 @@ PassRefPtr<Touch> Document::createTouch(DOMWindow* window, EventTarget* target,
Frame* frame = window ? window->frame() : this->frame();
return Touch::create(frame, target, identifier, screenX, screenY, pageX, pageY, radiusX, radiusY, rotationAngle, force);
}
+#endif
static void wheelEventHandlerCountChanged(Document* document)
{
@@ -5461,6 +5470,7 @@ void Document::didRemoveWheelEventHandler()
void Document::didAddTouchEventHandler(Node* handler)
{
+#if ENABLE(TOUCH_EVENTS)
if (!m_touchEventTargets.get())
m_touchEventTargets = adoptPtr(new TouchEventTargetSet);
m_touchEventTargets->add(handler);
@@ -5469,15 +5479,21 @@ void Document::didAddTouchEventHandler(Node* handler)
return;
}
if (Page* page = this->page()) {
+#if ENABLE(TOUCH_EVENT_TRACKING)
if (ScrollingCoordinator* scrollingCoordinator = page->scrollingCoordinator())
scrollingCoordinator->touchEventTargetRectsDidChange(this);
+#endif
if (m_touchEventTargets->size() == 1)
page->chrome()->client()->needTouchEvents(true);
}
+#else
+ UNUSED_PARAM(handler);
+#endif
}
void Document::didRemoveTouchEventHandler(Node* handler)
{
+#if ENABLE(TOUCH_EVENTS)
if (!m_touchEventTargets.get())
return;
ASSERT(m_touchEventTargets->contains(handler));
@@ -5490,8 +5506,10 @@ void Document::didRemoveTouchEventHandler(Node* handler)
Page* page = this->page();
if (!page)
return;
+#if ENABLE(TOUCH_EVENT_TRACKING)
if (ScrollingCoordinator* scrollingCoordinator = page->scrollingCoordinator())
scrollingCoordinator->touchEventTargetRectsDidChange(this);
+#endif
if (m_touchEventTargets->size())
return;
for (const Frame* frame = page->mainFrame(); frame; frame = frame->tree()->traverseNext()) {
@@ -5499,8 +5517,12 @@ void Document::didRemoveTouchEventHandler(Node* handler)
return;
}
page->chrome()->client()->needTouchEvents(false);
+#else
+ UNUSED_PARAM(handler);
+#endif
}
+#if ENABLE(TOUCH_EVENTS)
void Document::didRemoveEventTargetNode(Node* handler)
{
if (m_touchEventTargets) {
@@ -5509,6 +5531,7 @@ void Document::didRemoveEventTargetNode(Node* handler)
parentDocument()->didRemoveEventTargetNode(this);
}
}
+#endif
void Document::resetLastHandledUserGestureTimestamp()
{
@@ -5822,7 +5845,9 @@ void Document::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
info.addMember(m_viewportArguments, "viewportArguments");
info.addMember(m_documentTiming, "documentTiming");
info.addMember(m_mediaQueryMatcher, "mediaQueryMatcher");
+#if ENABLE(TOUCH_EVENTS)
info.addMember(m_touchEventTargets, "touchEventTargets");
+#endif
info.addMember(m_scriptedAnimationController, "scriptedAnimationController");
info.addMember(m_pendingTasksTimer, "pendingTasksTimer");
info.addMember(m_textAutosizer, "textAutosizer");
« no previous file with comments | « Source/core/dom/Document.h ('k') | Source/core/dom/Document.idl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698