| OLD | NEW |
| 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 387 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 398 | 398 |
| 399 if (m_frame->page() && m_frame->view()) { | 399 if (m_frame->page() && m_frame->view()) { |
| 400 if (ScrollingCoordinator* scrollingCoordinator = m_frame->page()->scroll
ingCoordinator()) { | 400 if (ScrollingCoordinator* scrollingCoordinator = m_frame->page()->scroll
ingCoordinator()) { |
| 401 scrollingCoordinator->scrollableAreaScrollbarLayerDidChange(m_frame-
>view(), HorizontalScrollbar); | 401 scrollingCoordinator->scrollableAreaScrollbarLayerDidChange(m_frame-
>view(), HorizontalScrollbar); |
| 402 scrollingCoordinator->scrollableAreaScrollbarLayerDidChange(m_frame-
>view(), VerticalScrollbar); | 402 scrollingCoordinator->scrollableAreaScrollbarLayerDidChange(m_frame-
>view(), VerticalScrollbar); |
| 403 scrollingCoordinator->scrollableAreaScrollLayerDidChange(m_frame->vi
ew()); | 403 scrollingCoordinator->scrollableAreaScrollLayerDidChange(m_frame->vi
ew()); |
| 404 } | 404 } |
| 405 } | 405 } |
| 406 | 406 |
| 407 m_frame->selection().updateSecureKeyboardEntryIfActive(); | 407 m_frame->selection().updateSecureKeyboardEntryIfActive(); |
| 408 | |
| 409 if (m_frame->isMainFrame()) { | |
| 410 m_frame->notifyChromeClientWheelEventHandlerCountChanged(); | |
| 411 if (m_document->hasTouchEventHandlers()) | |
| 412 m_frame->host()->chrome().client().needTouchEvents(true); | |
| 413 } | |
| 414 | |
| 415 return m_document; | 408 return m_document; |
| 416 } | 409 } |
| 417 | 410 |
| 418 EventQueue* DOMWindow::eventQueue() const | 411 EventQueue* DOMWindow::eventQueue() const |
| 419 { | 412 { |
| 420 return m_eventQueue.get(); | 413 return m_eventQueue.get(); |
| 421 } | 414 } |
| 422 | 415 |
| 423 void DOMWindow::enqueueWindowEvent(PassRefPtr<Event> event) | 416 void DOMWindow::enqueueWindowEvent(PassRefPtr<Event> event) |
| 424 { | 417 { |
| (...skipping 1085 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1510 window->sessionStorage(IGNORE_EXCEPTION); | 1503 window->sessionStorage(IGNORE_EXCEPTION); |
| 1511 } | 1504 } |
| 1512 | 1505 |
| 1513 bool DOMWindow::addEventListener(const AtomicString& eventType, PassRefPtr<Event
Listener> listener, bool useCapture) | 1506 bool DOMWindow::addEventListener(const AtomicString& eventType, PassRefPtr<Event
Listener> listener, bool useCapture) |
| 1514 { | 1507 { |
| 1515 if (!EventTarget::addEventListener(eventType, listener, useCapture)) | 1508 if (!EventTarget::addEventListener(eventType, listener, useCapture)) |
| 1516 return false; | 1509 return false; |
| 1517 | 1510 |
| 1518 if (Document* document = this->document()) { | 1511 if (Document* document = this->document()) { |
| 1519 document->addListenerTypeIfNeeded(eventType); | 1512 document->addListenerTypeIfNeeded(eventType); |
| 1520 if (isTouchEventType(eventType)) | 1513 if (eventType == EventTypeNames::storage) |
| 1521 document->didAddTouchEventHandler(document); | |
| 1522 else if (eventType == EventTypeNames::storage) | |
| 1523 didAddStorageEventListener(this); | 1514 didAddStorageEventListener(this); |
| 1524 } | 1515 } |
| 1525 | 1516 |
| 1526 lifecycleNotifier().notifyAddEventListener(this, eventType); | 1517 lifecycleNotifier().notifyAddEventListener(this, eventType); |
| 1527 | 1518 |
| 1528 if (eventType == EventTypeNames::unload) { | 1519 if (eventType == EventTypeNames::unload) { |
| 1529 UseCounter::count(document(), UseCounter::DocumentUnloadRegistered); | 1520 UseCounter::count(document(), UseCounter::DocumentUnloadRegistered); |
| 1530 addUnloadEventListener(this); | 1521 addUnloadEventListener(this); |
| 1531 } else if (eventType == EventTypeNames::beforeunload) { | 1522 } else if (eventType == EventTypeNames::beforeunload) { |
| 1532 UseCounter::count(document(), UseCounter::DocumentBeforeUnloadRegistered
); | 1523 UseCounter::count(document(), UseCounter::DocumentBeforeUnloadRegistered
); |
| 1533 if (allowsBeforeUnloadListeners(this)) { | 1524 if (allowsBeforeUnloadListeners(this)) { |
| 1534 // This is confusingly named. It doesn't actually add the listener.
It just increments a count | 1525 // This is confusingly named. It doesn't actually add the listener.
It just increments a count |
| 1535 // so that we know we have listeners registered for the purposes of
determining if we can | 1526 // so that we know we have listeners registered for the purposes of
determining if we can |
| 1536 // fast terminate the renderer process. | 1527 // fast terminate the renderer process. |
| 1537 addBeforeUnloadEventListener(this); | 1528 addBeforeUnloadEventListener(this); |
| 1538 } else { | 1529 } else { |
| 1539 // Subframes return false from allowsBeforeUnloadListeners. | 1530 // Subframes return false from allowsBeforeUnloadListeners. |
| 1540 UseCounter::count(document(), UseCounter::SubFrameBeforeUnloadRegist
ered); | 1531 UseCounter::count(document(), UseCounter::SubFrameBeforeUnloadRegist
ered); |
| 1541 } | 1532 } |
| 1542 } | 1533 } |
| 1543 | 1534 |
| 1544 return true; | 1535 return true; |
| 1545 } | 1536 } |
| 1546 | 1537 |
| 1547 bool DOMWindow::removeEventListener(const AtomicString& eventType, EventListener
* listener, bool useCapture) | 1538 bool DOMWindow::removeEventListener(const AtomicString& eventType, EventListener
* listener, bool useCapture) |
| 1548 { | 1539 { |
| 1549 if (!EventTarget::removeEventListener(eventType, listener, useCapture)) | 1540 if (!EventTarget::removeEventListener(eventType, listener, useCapture)) |
| 1550 return false; | 1541 return false; |
| 1551 | 1542 |
| 1552 if (Document* document = this->document()) { | |
| 1553 if (isTouchEventType(eventType)) | |
| 1554 document->didRemoveTouchEventHandler(document); | |
| 1555 } | |
| 1556 | |
| 1557 lifecycleNotifier().notifyRemoveEventListener(this, eventType); | 1543 lifecycleNotifier().notifyRemoveEventListener(this, eventType); |
| 1558 | 1544 |
| 1559 if (eventType == EventTypeNames::unload) { | 1545 if (eventType == EventTypeNames::unload) { |
| 1560 removeUnloadEventListener(this); | 1546 removeUnloadEventListener(this); |
| 1561 } else if (eventType == EventTypeNames::beforeunload && allowsBeforeUnloadLi
steners(this)) { | 1547 } else if (eventType == EventTypeNames::beforeunload && allowsBeforeUnloadLi
steners(this)) { |
| 1562 removeBeforeUnloadEventListener(this); | 1548 removeBeforeUnloadEventListener(this); |
| 1563 } | 1549 } |
| 1564 | 1550 |
| 1565 return true; | 1551 return true; |
| 1566 } | 1552 } |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1608 | 1594 |
| 1609 return result; | 1595 return result; |
| 1610 } | 1596 } |
| 1611 | 1597 |
| 1612 void DOMWindow::removeAllEventListeners() | 1598 void DOMWindow::removeAllEventListeners() |
| 1613 { | 1599 { |
| 1614 EventTarget::removeAllEventListeners(); | 1600 EventTarget::removeAllEventListeners(); |
| 1615 | 1601 |
| 1616 lifecycleNotifier().notifyRemoveAllEventListeners(this); | 1602 lifecycleNotifier().notifyRemoveAllEventListeners(this); |
| 1617 | 1603 |
| 1618 if (Document* document = this->document()) | |
| 1619 document->didClearTouchEventHandlers(document); | |
| 1620 | |
| 1621 removeAllUnloadEventListeners(this); | 1604 removeAllUnloadEventListeners(this); |
| 1622 removeAllBeforeUnloadEventListeners(this); | 1605 removeAllBeforeUnloadEventListeners(this); |
| 1623 } | 1606 } |
| 1624 | 1607 |
| 1625 void DOMWindow::finishedLoading() | 1608 void DOMWindow::finishedLoading() |
| 1626 { | 1609 { |
| 1627 if (m_shouldPrintWhenFinishedLoading) { | 1610 if (m_shouldPrintWhenFinishedLoading) { |
| 1628 m_shouldPrintWhenFinishedLoading = false; | 1611 m_shouldPrintWhenFinishedLoading = false; |
| 1629 print(); | 1612 print(); |
| 1630 } | 1613 } |
| (...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1861 return static_cast<DOMWindowLifecycleNotifier&>(LifecycleContext<DOMWindow>:
:lifecycleNotifier()); | 1844 return static_cast<DOMWindowLifecycleNotifier&>(LifecycleContext<DOMWindow>:
:lifecycleNotifier()); |
| 1862 } | 1845 } |
| 1863 | 1846 |
| 1864 PassOwnPtr<LifecycleNotifier<DOMWindow> > DOMWindow::createLifecycleNotifier() | 1847 PassOwnPtr<LifecycleNotifier<DOMWindow> > DOMWindow::createLifecycleNotifier() |
| 1865 { | 1848 { |
| 1866 return DOMWindowLifecycleNotifier::create(this); | 1849 return DOMWindowLifecycleNotifier::create(this); |
| 1867 } | 1850 } |
| 1868 | 1851 |
| 1869 | 1852 |
| 1870 } // namespace WebCore | 1853 } // namespace WebCore |
| OLD | NEW |