| Index: third_party/WebKit/Source/core/loader/FrameLoader.cpp
|
| diff --git a/third_party/WebKit/Source/core/loader/FrameLoader.cpp b/third_party/WebKit/Source/core/loader/FrameLoader.cpp
|
| index 8315235fc9018fdbbbf8f9edd89df768ee27884c..24b4a63d43c5123611eee2045d8400145599a277 100644
|
| --- a/third_party/WebKit/Source/core/loader/FrameLoader.cpp
|
| +++ b/third_party/WebKit/Source/core/loader/FrameLoader.cpp
|
| @@ -1343,14 +1343,20 @@ void FrameLoader::commitProvisionalLoad() {
|
| if (!prepareForCommit())
|
| return;
|
|
|
| - if (isLoadingMainFrame()) {
|
| + // If we are loading the mainframe, or a frame that is a local root, it is
|
| + // important to explicitly set the event listenener properties to Nothing as
|
| + // this triggers notifications to the client. Clients may assume the presence
|
| + // of handlers for touch and wheel events, so these notifications tell it
|
| + // there are (presently) no handlers.
|
| + if (m_frame->isLocalRoot()) {
|
| m_frame->page()->chromeClient().setEventListenerProperties(
|
| - WebEventListenerClass::TouchStartOrMove,
|
| + m_frame, WebEventListenerClass::TouchStartOrMove,
|
| WebEventListenerProperties::Nothing);
|
| m_frame->page()->chromeClient().setEventListenerProperties(
|
| - WebEventListenerClass::MouseWheel, WebEventListenerProperties::Nothing);
|
| + m_frame, WebEventListenerClass::MouseWheel,
|
| + WebEventListenerProperties::Nothing);
|
| m_frame->page()->chromeClient().setEventListenerProperties(
|
| - WebEventListenerClass::TouchEndOrCancel,
|
| + m_frame, WebEventListenerClass::TouchEndOrCancel,
|
| WebEventListenerProperties::Nothing);
|
| }
|
|
|
|
|