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

Side by Side Diff: Source/core/input/EventHandler.h

Issue 1198193005: Fixed memory issues with EventHandler::TouchInfo. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 6 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
« no previous file with comments | « no previous file | Source/core/input/EventHandler.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) 2006, 2007, 2009, 2010, 2011 Apple Inc. All rights reserved. 2 * Copyright (C) 2006, 2007, 2009, 2010, 2011 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after
311 bool panScrollInProgress() const; 311 bool panScrollInProgress() const;
312 void setLastKnownMousePosition(const PlatformMouseEvent&); 312 void setLastKnownMousePosition(const PlatformMouseEvent&);
313 313
314 bool shouldTopControlsConsumeScroll(FloatSize) const; 314 bool shouldTopControlsConsumeScroll(FloatSize) const;
315 315
316 // If the given element is a shadow host and its root has delegatesFocus=fal se flag, 316 // If the given element is a shadow host and its root has delegatesFocus=fal se flag,
317 // slide focus to its inner element. Returns true if the resulting focus is different from 317 // slide focus to its inner element. Returns true if the resulting focus is different from
318 // the given element. 318 // the given element.
319 bool slideFocusOnShadowHostIfNecessary(const Element&); 319 bool slideFocusOnShadowHostIfNecessary(const Element&);
320 320
321 using TouchInfo = struct { 321 using TouchInfo = struct {
haraken 2015/06/22 23:40:35 class TouchInfo { ALLOW_ONLY_INLINE_ALLOCATION()
mustaq 2015/06/23 15:25:51 Done, but kept the pointer to LocalFrame as is bec
sof 2015/06/23 15:57:34 It ought to work fine as suggested; could you expl
mustaq 2015/06/23 16:36:27 I kept the LocalFrame* as is because from this pie
sof 2015/06/23 18:52:02 Yes, it probably isn't worth adding a RefPtr<> her
mustaq 2015/06/24 14:47:52 Okay, switched away from raw ptr for LocalFrame.
322 PlatformTouchPoint point; 322 PlatformTouchPoint point;
323 EventTarget* touchTarget; 323 RefPtrWillBeMember<EventTarget> touchTarget;
324 LocalFrame* targetFrame; 324 LocalFrame* targetFrame;
325 FloatPoint adjustedPagePoint; 325 FloatPoint adjustedPagePoint;
326 FloatSize adjustedRadius; 326 FloatSize adjustedRadius;
327 bool knownTarget; 327 bool knownTarget;
328 bool consumed; 328 bool consumed;
329 }; 329 };
330 330
331 void dispatchPointerEventsForTouchEvent(const PlatformTouchEvent&, Vector<To uchInfo>&); 331 void dispatchPointerEventsForTouchEvent(const PlatformTouchEvent&, Vector<To uchInfo>&);
haraken 2015/06/22 23:40:35 You need to use WillBeHeapVector<TouchInfo>.
mustaq 2015/06/23 15:25:51 Done.
332 bool dispatchTouchEvents(const PlatformTouchEvent&, Vector<TouchInfo>&, bool , bool); 332 bool dispatchTouchEvents(const PlatformTouchEvent&, Vector<TouchInfo>&, bool , bool);
333 333
334 // NOTE: If adding a new field to this class please ensure that it is 334 // NOTE: If adding a new field to this class please ensure that it is
335 // cleared in |EventHandler::clear()|. 335 // cleared in |EventHandler::clear()|.
336 336
337 LocalFrame* const m_frame; 337 LocalFrame* const m_frame;
338 338
339 bool m_mousePressed; 339 bool m_mousePressed;
340 bool m_capturesDragging; 340 bool m_capturesDragging;
341 RefPtrWillBeMember<Node> m_mousePressNode; 341 RefPtrWillBeMember<Node> m_mousePressNode;
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
428 // scroll sequence in this frame, or any child frames. Only used 428 // scroll sequence in this frame, or any child frames. Only used
429 // with ScrollCustomization. If some delta has been consumed, a 429 // with ScrollCustomization. If some delta has been consumed, a
430 // scroll which shouldn't propagate can't cause any element to 430 // scroll which shouldn't propagate can't cause any element to
431 // scroll other than the |m_previousGestureScrolledNode|. 431 // scroll other than the |m_previousGestureScrolledNode|.
432 bool m_deltaConsumedForScrollSequence; 432 bool m_deltaConsumedForScrollSequence;
433 }; 433 };
434 434
435 } // namespace blink 435 } // namespace blink
436 436
437 #endif // EventHandler_h 437 #endif // EventHandler_h
OLDNEW
« no previous file with comments | « no previous file | Source/core/input/EventHandler.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698