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

Side by Side Diff: Source/core/frame/LocalDOMWindow.cpp

Issue 225903009: Migrate touch events to EventHandlerRegistry (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fixed HTMLInputElement adding handler at document destruction and removed dead oilpan code. Created 6 years, 5 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2006, 2007, 2008, 2010 Apple Inc. All rights reserved. 2 * Copyright (C) 2006, 2007, 2008, 2010 Apple Inc. All rights reserved.
3 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) 3 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 394 matching lines...) Expand 10 before | Expand all | Expand 10 after
405 405
406 if (m_frame->page() && m_frame->view()) { 406 if (m_frame->page() && m_frame->view()) {
407 if (ScrollingCoordinator* scrollingCoordinator = m_frame->page()->scroll ingCoordinator()) { 407 if (ScrollingCoordinator* scrollingCoordinator = m_frame->page()->scroll ingCoordinator()) {
408 scrollingCoordinator->scrollableAreaScrollbarLayerDidChange(m_frame- >view(), HorizontalScrollbar); 408 scrollingCoordinator->scrollableAreaScrollbarLayerDidChange(m_frame- >view(), HorizontalScrollbar);
409 scrollingCoordinator->scrollableAreaScrollbarLayerDidChange(m_frame- >view(), VerticalScrollbar); 409 scrollingCoordinator->scrollableAreaScrollbarLayerDidChange(m_frame- >view(), VerticalScrollbar);
410 scrollingCoordinator->scrollableAreaScrollLayerDidChange(m_frame->vi ew()); 410 scrollingCoordinator->scrollableAreaScrollLayerDidChange(m_frame->vi ew());
411 } 411 }
412 } 412 }
413 413
414 m_frame->selection().updateSecureKeyboardEntryIfActive(); 414 m_frame->selection().updateSecureKeyboardEntryIfActive();
415
416 if (m_frame->isMainFrame()) {
417 if (m_document->hasTouchEventHandlers())
418 m_frame->host()->chrome().client().needTouchEvents(true);
419 }
420 return m_document; 415 return m_document;
421 } 416 }
422 417
423 EventQueue* LocalDOMWindow::eventQueue() const 418 EventQueue* LocalDOMWindow::eventQueue() const
424 { 419 {
425 return m_eventQueue.get(); 420 return m_eventQueue.get();
426 } 421 }
427 422
428 void LocalDOMWindow::enqueueWindowEvent(PassRefPtrWillBeRawPtr<Event> event) 423 void LocalDOMWindow::enqueueWindowEvent(PassRefPtrWillBeRawPtr<Event> event)
429 { 424 {
(...skipping 1102 matching lines...) Expand 10 before | Expand all | Expand 10 after
1532 bool LocalDOMWindow::addEventListener(const AtomicString& eventType, PassRefPtr< EventListener> listener, bool useCapture) 1527 bool LocalDOMWindow::addEventListener(const AtomicString& eventType, PassRefPtr< EventListener> listener, bool useCapture)
1533 { 1528 {
1534 if (!EventTarget::addEventListener(eventType, listener, useCapture)) 1529 if (!EventTarget::addEventListener(eventType, listener, useCapture))
1535 return false; 1530 return false;
1536 1531
1537 if (m_frame && m_frame->host()) 1532 if (m_frame && m_frame->host())
1538 m_frame->host()->eventHandlerRegistry().didAddEventHandler(*this, eventT ype); 1533 m_frame->host()->eventHandlerRegistry().didAddEventHandler(*this, eventT ype);
1539 1534
1540 if (Document* document = this->document()) { 1535 if (Document* document = this->document()) {
1541 document->addListenerTypeIfNeeded(eventType); 1536 document->addListenerTypeIfNeeded(eventType);
1542 if (isTouchEventType(eventType)) 1537 if (eventType == EventTypeNames::storage)
1543 document->didAddTouchEventHandler(document);
1544 else if (eventType == EventTypeNames::storage)
1545 didAddStorageEventListener(this); 1538 didAddStorageEventListener(this);
1546 } 1539 }
1547 1540
1548 lifecycleNotifier().notifyAddEventListener(this, eventType); 1541 lifecycleNotifier().notifyAddEventListener(this, eventType);
1549 1542
1550 if (eventType == EventTypeNames::unload) { 1543 if (eventType == EventTypeNames::unload) {
1551 UseCounter::count(document(), UseCounter::DocumentUnloadRegistered); 1544 UseCounter::count(document(), UseCounter::DocumentUnloadRegistered);
1552 addUnloadEventListener(this); 1545 addUnloadEventListener(this);
1553 } else if (eventType == EventTypeNames::beforeunload) { 1546 } else if (eventType == EventTypeNames::beforeunload) {
1554 UseCounter::count(document(), UseCounter::DocumentBeforeUnloadRegistered ); 1547 UseCounter::count(document(), UseCounter::DocumentBeforeUnloadRegistered );
(...skipping 12 matching lines...) Expand all
1567 } 1560 }
1568 1561
1569 bool LocalDOMWindow::removeEventListener(const AtomicString& eventType, EventLis tener* listener, bool useCapture) 1562 bool LocalDOMWindow::removeEventListener(const AtomicString& eventType, EventLis tener* listener, bool useCapture)
1570 { 1563 {
1571 if (!EventTarget::removeEventListener(eventType, listener, useCapture)) 1564 if (!EventTarget::removeEventListener(eventType, listener, useCapture))
1572 return false; 1565 return false;
1573 1566
1574 if (m_frame && m_frame->host()) 1567 if (m_frame && m_frame->host())
1575 m_frame->host()->eventHandlerRegistry().didRemoveEventHandler(*this, eve ntType); 1568 m_frame->host()->eventHandlerRegistry().didRemoveEventHandler(*this, eve ntType);
1576 1569
1577 if (Document* document = this->document()) {
1578 if (isTouchEventType(eventType))
1579 document->didRemoveTouchEventHandler(document);
1580 }
1581
1582 lifecycleNotifier().notifyRemoveEventListener(this, eventType); 1570 lifecycleNotifier().notifyRemoveEventListener(this, eventType);
1583 1571
1584 if (eventType == EventTypeNames::unload) { 1572 if (eventType == EventTypeNames::unload) {
1585 removeUnloadEventListener(this); 1573 removeUnloadEventListener(this);
1586 } else if (eventType == EventTypeNames::beforeunload && allowsBeforeUnloadLi steners(this)) { 1574 } else if (eventType == EventTypeNames::beforeunload && allowsBeforeUnloadLi steners(this)) {
1587 removeBeforeUnloadEventListener(this); 1575 removeBeforeUnloadEventListener(this);
1588 } 1576 }
1589 1577
1590 return true; 1578 return true;
1591 } 1579 }
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
1640 1628
1641 void LocalDOMWindow::removeAllEventListenersInternal(BroadcastListenerRemoval mo de) 1629 void LocalDOMWindow::removeAllEventListenersInternal(BroadcastListenerRemoval mo de)
1642 { 1630 {
1643 EventTarget::removeAllEventListeners(); 1631 EventTarget::removeAllEventListeners();
1644 1632
1645 lifecycleNotifier().notifyRemoveAllEventListeners(this); 1633 lifecycleNotifier().notifyRemoveAllEventListeners(this);
1646 1634
1647 if (mode == DoBroadcastListenerRemoval) { 1635 if (mode == DoBroadcastListenerRemoval) {
1648 if (m_frame && m_frame->host()) 1636 if (m_frame && m_frame->host())
1649 m_frame->host()->eventHandlerRegistry().didRemoveAllEventHandlers(*t his); 1637 m_frame->host()->eventHandlerRegistry().didRemoveAllEventHandlers(*t his);
1650
1651 if (Document* document = this->document())
1652 document->didClearTouchEventHandlers(document);
1653 } 1638 }
1654 1639
1655 removeAllUnloadEventListeners(this); 1640 removeAllUnloadEventListeners(this);
1656 removeAllBeforeUnloadEventListeners(this); 1641 removeAllBeforeUnloadEventListeners(this);
1657 } 1642 }
1658 1643
1659 void LocalDOMWindow::removeAllEventListeners() 1644 void LocalDOMWindow::removeAllEventListeners()
1660 { 1645 {
1661 removeAllEventListenersInternal(DoBroadcastListenerRemoval); 1646 removeAllEventListenersInternal(DoBroadcastListenerRemoval);
1662 } 1647 }
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after
1926 visitor->trace(m_localStorage); 1911 visitor->trace(m_localStorage);
1927 visitor->trace(m_applicationCache); 1912 visitor->trace(m_applicationCache);
1928 visitor->trace(m_performance); 1913 visitor->trace(m_performance);
1929 visitor->trace(m_css); 1914 visitor->trace(m_css);
1930 visitor->trace(m_eventQueue); 1915 visitor->trace(m_eventQueue);
1931 WillBeHeapSupplementable<LocalDOMWindow>::trace(visitor); 1916 WillBeHeapSupplementable<LocalDOMWindow>::trace(visitor);
1932 EventTargetWithInlineData::trace(visitor); 1917 EventTargetWithInlineData::trace(visitor);
1933 } 1918 }
1934 1919
1935 } // namespace WebCore 1920 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698