| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2009 Google Inc. All rights reserved. | 2 * Copyright (C) 2009 Google 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 are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * 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 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 46 | 46 |
| 47 #include "bindings/v8/ScriptController.h" | 47 #include "bindings/v8/ScriptController.h" |
| 48 #include "core/HTMLNames.h" | 48 #include "core/HTMLNames.h" |
| 49 #include "core/clipboard/DataObject.h" | 49 #include "core/clipboard/DataObject.h" |
| 50 #include "core/clipboard/DataTransfer.h" | 50 #include "core/clipboard/DataTransfer.h" |
| 51 #include "core/events/GestureEvent.h" | 51 #include "core/events/GestureEvent.h" |
| 52 #include "core/events/KeyboardEvent.h" | 52 #include "core/events/KeyboardEvent.h" |
| 53 #include "core/events/MouseEvent.h" | 53 #include "core/events/MouseEvent.h" |
| 54 #include "core/events/TouchEvent.h" | 54 #include "core/events/TouchEvent.h" |
| 55 #include "core/events/WheelEvent.h" | 55 #include "core/events/WheelEvent.h" |
| 56 #include "core/frame/EventHandlerRegistry.h" |
| 56 #include "core/frame/FrameView.h" | 57 #include "core/frame/FrameView.h" |
| 57 #include "core/frame/LocalFrame.h" | 58 #include "core/frame/LocalFrame.h" |
| 58 #include "core/html/HTMLFormElement.h" | 59 #include "core/html/HTMLFormElement.h" |
| 59 #include "core/html/HTMLPlugInElement.h" | 60 #include "core/html/HTMLPlugInElement.h" |
| 60 #include "core/loader/FormState.h" | 61 #include "core/loader/FormState.h" |
| 61 #include "core/loader/FrameLoadRequest.h" | 62 #include "core/loader/FrameLoadRequest.h" |
| 62 #include "core/page/FocusController.h" | 63 #include "core/page/FocusController.h" |
| 63 #include "core/page/Page.h" | 64 #include "core/page/Page.h" |
| 64 #include "core/page/scrolling/ScrollingCoordinator.h" | 65 #include "core/page/scrolling/ScrollingCoordinator.h" |
| 65 #include "core/plugins/PluginOcclusionSupport.h" | 66 #include "core/plugins/PluginOcclusionSupport.h" |
| (...skipping 440 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 506 if (nodes.size() != 1) | 507 if (nodes.size() != 1) |
| 507 return false; | 508 return false; |
| 508 return nodes.first().get() == m_element; | 509 return nodes.first().get() == m_element; |
| 509 } | 510 } |
| 510 | 511 |
| 511 void WebPluginContainerImpl::requestTouchEventType(TouchEventRequestType request
Type) | 512 void WebPluginContainerImpl::requestTouchEventType(TouchEventRequestType request
Type) |
| 512 { | 513 { |
| 513 if (m_touchEventRequestType == requestType) | 514 if (m_touchEventRequestType == requestType) |
| 514 return; | 515 return; |
| 515 | 516 |
| 516 if (requestType != TouchEventRequestTypeNone && m_touchEventRequestType == T
ouchEventRequestTypeNone) | 517 if (m_element->document().frameHost()) { |
| 517 m_element->document().didAddTouchEventHandler(m_element); | 518 EventHandlerRegistry& registry = m_element->document().frameHost()->even
tHandlerRegistry(); |
| 518 else if (requestType == TouchEventRequestTypeNone && m_touchEventRequestType
!= TouchEventRequestTypeNone) | 519 if (requestType != TouchEventRequestTypeNone && m_touchEventRequestType
== TouchEventRequestTypeNone) |
| 519 m_element->document().didRemoveTouchEventHandler(m_element); | 520 registry.didAddEventHandler(*m_element, EventHandlerRegistry::TouchE
vent); |
| 521 else if (requestType == TouchEventRequestTypeNone && m_touchEventRequest
Type != TouchEventRequestTypeNone) |
| 522 registry.didRemoveEventHandler(*m_element, EventHandlerRegistry::Tou
chEvent); |
| 523 } |
| 520 m_touchEventRequestType = requestType; | 524 m_touchEventRequestType = requestType; |
| 521 } | 525 } |
| 522 | 526 |
| 523 void WebPluginContainerImpl::setWantsWheelEvents(bool wantsWheelEvents) | 527 void WebPluginContainerImpl::setWantsWheelEvents(bool wantsWheelEvents) |
| 524 { | 528 { |
| 525 if (m_wantsWheelEvents == wantsWheelEvents) | 529 if (m_wantsWheelEvents == wantsWheelEvents) |
| 526 return; | 530 return; |
| 527 m_wantsWheelEvents = wantsWheelEvents; | 531 m_wantsWheelEvents = wantsWheelEvents; |
| 528 if (Page* page = m_element->document().page()) { | 532 if (Page* page = m_element->document().page()) { |
| 529 if (ScrollingCoordinator* scrollingCoordinator = page->scrollingCoordina
tor()) { | 533 if (ScrollingCoordinator* scrollingCoordinator = page->scrollingCoordina
tor()) { |
| (...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 672 // have been finalized by now; unsafe to unregister the touch | 676 // have been finalized by now; unsafe to unregister the touch |
| 673 // event handler at this stage. | 677 // event handler at this stage. |
| 674 // | 678 // |
| 675 // This is acceptable, as the widget will unregister itself if it | 679 // This is acceptable, as the widget will unregister itself if it |
| 676 // is cleanly detached. If an explicit detach doesn't happen, this | 680 // is cleanly detached. If an explicit detach doesn't happen, this |
| 677 // container is assumed to have died with the plugin element (and | 681 // container is assumed to have died with the plugin element (and |
| 678 // its document), hence no unregistration step is needed. | 682 // its document), hence no unregistration step is needed. |
| 679 // | 683 // |
| 680 m_element = 0; | 684 m_element = 0; |
| 681 #else | 685 #else |
| 682 if (m_touchEventRequestType != TouchEventRequestTypeNone) | 686 if (m_touchEventRequestType != TouchEventRequestTypeNone && m_element->docum
ent().frameHost()) |
| 683 m_element->document().didRemoveTouchEventHandler(m_element); | 687 m_element->document().frameHost()->eventHandlerRegistry().didRemoveEvent
Handler(*m_element, EventHandlerRegistry::TouchEvent); |
| 684 #endif | 688 #endif |
| 685 | 689 |
| 686 for (size_t i = 0; i < m_pluginLoadObservers.size(); ++i) | 690 for (size_t i = 0; i < m_pluginLoadObservers.size(); ++i) |
| 687 m_pluginLoadObservers[i]->clearPluginContainer(); | 691 m_pluginLoadObservers[i]->clearPluginContainer(); |
| 688 m_webPlugin->destroy(); | 692 m_webPlugin->destroy(); |
| 689 if (m_webLayer) | 693 if (m_webLayer) |
| 690 GraphicsLayer::unregisterContentsLayer(m_webLayer); | 694 GraphicsLayer::unregisterContentsLayer(m_webLayer); |
| 691 } | 695 } |
| 692 | 696 |
| 693 #if ENABLE(OILPAN) | 697 #if ENABLE(OILPAN) |
| 694 void WebPluginContainerImpl::detach() | 698 void WebPluginContainerImpl::detach() |
| 695 { | 699 { |
| 696 if (m_touchEventRequestType != TouchEventRequestTypeNone) | 700 if (m_touchEventRequestType != TouchEventRequestTypeNone && m_element->docum
ent().frameHost()) |
| 697 m_element->document().didRemoveTouchEventHandler(m_element); | 701 m_element->document().frameHost()->eventHandlerRegistry().didRemoveEvent
Handler(*m_element, EventHandlerRegistry::TouchEvent); |
| 698 | 702 |
| 699 setWebLayer(0); | 703 setWebLayer(0); |
| 700 } | 704 } |
| 701 #endif | 705 #endif |
| 702 | 706 |
| 703 void WebPluginContainerImpl::handleMouseEvent(MouseEvent* event) | 707 void WebPluginContainerImpl::handleMouseEvent(MouseEvent* event) |
| 704 { | 708 { |
| 705 ASSERT(parent()->isFrameView()); | 709 ASSERT(parent()->isFrameView()); |
| 706 | 710 |
| 707 if (event->isDragEvent()) { | 711 if (event->isDragEvent()) { |
| (...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 938 | 942 |
| 939 return clipRect; | 943 return clipRect; |
| 940 } | 944 } |
| 941 | 945 |
| 942 bool WebPluginContainerImpl::pluginShouldPersist() const | 946 bool WebPluginContainerImpl::pluginShouldPersist() const |
| 943 { | 947 { |
| 944 return m_webPlugin->shouldPersist(); | 948 return m_webPlugin->shouldPersist(); |
| 945 } | 949 } |
| 946 | 950 |
| 947 } // namespace blink | 951 } // namespace blink |
| OLD | NEW |