| Index: webkit/plugins/ppapi/ppapi_plugin_instance.cc
 | 
| diff --git a/webkit/plugins/ppapi/ppapi_plugin_instance.cc b/webkit/plugins/ppapi/ppapi_plugin_instance.cc
 | 
| index db418cce51b6df23abf3a3698c7259ff5d253aa8..9488d00d0249b5424980663469e0c10fbb83b1c2 100644
 | 
| --- a/webkit/plugins/ppapi/ppapi_plugin_instance.cc
 | 
| +++ b/webkit/plugins/ppapi/ppapi_plugin_instance.cc
 | 
| @@ -563,6 +563,7 @@ bool PluginInstance::Initialize(WebPluginContainer* container,
 | 
|    full_frame_ = full_frame;
 | 
|  
 | 
|    container_->setIsAcceptingTouchEvents(IsAcceptingTouchEvents());
 | 
| +  container_->setWantsWheelEvents(IsAcceptingWheelEvents());
 | 
|  
 | 
|    SetGPUHistogram(delegate_->GetPreferences(), arg_names, arg_values);
 | 
|  
 | 
| @@ -669,6 +670,13 @@ bool PluginInstance::SendCompositionEventWithUnderlineInformationToPlugin(
 | 
|    return handled;
 | 
|  }
 | 
|  
 | 
| +void PluginInstance::RequestInputEventsHelper(uint32_t event_classes) {
 | 
| +  if (event_classes & PP_INPUTEVENT_CLASS_TOUCH)
 | 
| +    container_->setIsAcceptingTouchEvents(IsAcceptingTouchEvents());
 | 
| +  if (event_classes & PP_INPUTEVENT_CLASS_WHEEL)
 | 
| +    container_->setWantsWheelEvents(IsAcceptingWheelEvents());
 | 
| +}
 | 
| +
 | 
|  bool PluginInstance::HandleCompositionStart(const string16& text) {
 | 
|    return SendCompositionEventToPlugin(PP_INPUTEVENT_TYPE_IME_COMPOSITION_START,
 | 
|                                        text);
 | 
| @@ -1176,6 +1184,11 @@ bool PluginInstance::IsAcceptingTouchEvents() const {
 | 
|        (input_event_mask_ & PP_INPUTEVENT_CLASS_TOUCH);
 | 
|  }
 | 
|  
 | 
| +bool PluginInstance::IsAcceptingWheelEvents() const {
 | 
| +  return (filtered_input_event_mask_ & PP_INPUTEVENT_CLASS_WHEEL) ||
 | 
| +      (input_event_mask_ & PP_INPUTEVENT_CLASS_WHEEL);
 | 
| +}
 | 
| +
 | 
|  void PluginInstance::ScheduleAsyncDidChangeView() {
 | 
|    if (view_change_weak_ptr_factory_.HasWeakPtrs())
 | 
|      return;  // Already scheduled.
 | 
| @@ -2138,8 +2151,7 @@ int32_t PluginInstance::RequestInputEvents(PP_Instance instance,
 | 
|                                             uint32_t event_classes) {
 | 
|    input_event_mask_ |= event_classes;
 | 
|    filtered_input_event_mask_ &= ~(event_classes);
 | 
| -  if (event_classes & PP_INPUTEVENT_CLASS_TOUCH)
 | 
| -    container_->setIsAcceptingTouchEvents(IsAcceptingTouchEvents());
 | 
| +  RequestInputEventsHelper(event_classes);
 | 
|    return ValidateRequestInputEvents(false, event_classes);
 | 
|  }
 | 
|  
 | 
| @@ -2147,8 +2159,7 @@ int32_t PluginInstance::RequestFilteringInputEvents(PP_Instance instance,
 | 
|                                                      uint32_t event_classes) {
 | 
|    filtered_input_event_mask_ |= event_classes;
 | 
|    input_event_mask_ &= ~(event_classes);
 | 
| -  if (event_classes & PP_INPUTEVENT_CLASS_TOUCH)
 | 
| -    container_->setIsAcceptingTouchEvents(IsAcceptingTouchEvents());
 | 
| +  RequestInputEventsHelper(event_classes);
 | 
|    return ValidateRequestInputEvents(true, event_classes);
 | 
|  }
 | 
|  
 | 
| @@ -2156,8 +2167,7 @@ void PluginInstance::ClearInputEventRequest(PP_Instance instance,
 | 
|                                              uint32_t event_classes) {
 | 
|    input_event_mask_ &= ~(event_classes);
 | 
|    filtered_input_event_mask_ &= ~(event_classes);
 | 
| -  if (event_classes & PP_INPUTEVENT_CLASS_TOUCH)
 | 
| -    container_->setIsAcceptingTouchEvents(IsAcceptingTouchEvents());
 | 
| +  RequestInputEventsHelper(event_classes);
 | 
|  }
 | 
|  
 | 
|  void PluginInstance::ZoomChanged(PP_Instance instance, double factor) {
 | 
| 
 |