| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/renderer/pepper/pepper_plugin_instance_impl.h" | 5 #include "content/renderer/pepper/pepper_plugin_instance_impl.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/bit_cast.h" | 10 #include "base/bit_cast.h" |
| (...skipping 302 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 313 array[i] = vector[i].c_str(); | 313 array[i] = vector[i].c_str(); |
| 314 return array; | 314 return array; |
| 315 } | 315 } |
| 316 | 316 |
| 317 // Returns true if this is a "system reserved" key which should not be sent to | 317 // Returns true if this is a "system reserved" key which should not be sent to |
| 318 // a plugin. Some poorly behaving plugins (like Flash) incorrectly report that | 318 // a plugin. Some poorly behaving plugins (like Flash) incorrectly report that |
| 319 // they handle all keys sent to them. This can prevent keystrokes from working | 319 // they handle all keys sent to them. This can prevent keystrokes from working |
| 320 // for things like screen brightness and volume control. | 320 // for things like screen brightness and volume control. |
| 321 bool IsReservedSystemInputEvent(const blink::WebInputEvent& event) { | 321 bool IsReservedSystemInputEvent(const blink::WebInputEvent& event) { |
| 322 #if defined(OS_CHROMEOS) | 322 #if defined(OS_CHROMEOS) |
| 323 if (event.type != WebInputEvent::KeyDown && | 323 if (event.type() != WebInputEvent::KeyDown && |
| 324 event.type != WebInputEvent::KeyUp) | 324 event.type() != WebInputEvent::KeyUp) |
| 325 return false; | 325 return false; |
| 326 const blink::WebKeyboardEvent& key_event = | 326 const blink::WebKeyboardEvent& key_event = |
| 327 static_cast<const blink::WebKeyboardEvent&>(event); | 327 static_cast<const blink::WebKeyboardEvent&>(event); |
| 328 switch (key_event.windowsKeyCode) { | 328 switch (key_event.windowsKeyCode) { |
| 329 case ui::VKEY_BRIGHTNESS_DOWN: | 329 case ui::VKEY_BRIGHTNESS_DOWN: |
| 330 case ui::VKEY_BRIGHTNESS_UP: | 330 case ui::VKEY_BRIGHTNESS_UP: |
| 331 case ui::VKEY_KBD_BRIGHTNESS_DOWN: | 331 case ui::VKEY_KBD_BRIGHTNESS_DOWN: |
| 332 case ui::VKEY_KBD_BRIGHTNESS_UP: | 332 case ui::VKEY_KBD_BRIGHTNESS_UP: |
| 333 case ui::VKEY_VOLUME_MUTE: | 333 case ui::VKEY_VOLUME_MUTE: |
| 334 case ui::VKEY_VOLUME_DOWN: | 334 case ui::VKEY_VOLUME_DOWN: |
| (...skipping 779 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1114 ConvertDIPToViewport(&caret); | 1114 ConvertDIPToViewport(&caret); |
| 1115 return caret; | 1115 return caret; |
| 1116 } | 1116 } |
| 1117 | 1117 |
| 1118 bool PepperPluginInstanceImpl::HandleInputEvent( | 1118 bool PepperPluginInstanceImpl::HandleInputEvent( |
| 1119 const blink::WebInputEvent& event, | 1119 const blink::WebInputEvent& event, |
| 1120 WebCursorInfo* cursor_info) { | 1120 WebCursorInfo* cursor_info) { |
| 1121 TRACE_EVENT0("ppapi", "PepperPluginInstanceImpl::HandleInputEvent"); | 1121 TRACE_EVENT0("ppapi", "PepperPluginInstanceImpl::HandleInputEvent"); |
| 1122 | 1122 |
| 1123 if (!has_been_clicked_ && is_flash_plugin_ && | 1123 if (!has_been_clicked_ && is_flash_plugin_ && |
| 1124 event.type == blink::WebInputEvent::MouseDown && | 1124 event.type() == blink::WebInputEvent::MouseDown && |
| 1125 (event.modifiers & blink::WebInputEvent::LeftButtonDown)) { | 1125 (event.modifiers() & blink::WebInputEvent::LeftButtonDown)) { |
| 1126 has_been_clicked_ = true; | 1126 has_been_clicked_ = true; |
| 1127 blink::WebRect bounds = container()->element().boundsInViewport(); | 1127 blink::WebRect bounds = container()->element().boundsInViewport(); |
| 1128 render_frame()->GetRenderWidget()->convertViewportToWindow(&bounds); | 1128 render_frame()->GetRenderWidget()->convertViewportToWindow(&bounds); |
| 1129 RecordFlashClickSizeMetric(bounds.width, bounds.height); | 1129 RecordFlashClickSizeMetric(bounds.width, bounds.height); |
| 1130 } | 1130 } |
| 1131 | 1131 |
| 1132 if (throttler_ && throttler_->ConsumeInputEvent(event)) | 1132 if (throttler_ && throttler_->ConsumeInputEvent(event)) |
| 1133 return true; | 1133 return true; |
| 1134 | 1134 |
| 1135 if (!render_frame_) | 1135 if (!render_frame_) |
| 1136 return false; | 1136 return false; |
| 1137 if (WebInputEvent::isMouseEventType(event.type)) { | 1137 if (WebInputEvent::isMouseEventType(event.type())) { |
| 1138 render_frame_->PepperDidReceiveMouseEvent(this); | 1138 render_frame_->PepperDidReceiveMouseEvent(this); |
| 1139 } | 1139 } |
| 1140 | 1140 |
| 1141 // Don't dispatch input events to crashed plugins. | 1141 // Don't dispatch input events to crashed plugins. |
| 1142 if (module()->is_crashed()) | 1142 if (module()->is_crashed()) |
| 1143 return false; | 1143 return false; |
| 1144 | 1144 |
| 1145 // Don't send reserved system key events to plugins. | 1145 // Don't send reserved system key events to plugins. |
| 1146 if (IsReservedSystemInputEvent(event)) | 1146 if (IsReservedSystemInputEvent(event)) |
| 1147 return false; | 1147 return false; |
| (...skipping 2317 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3465 const cc::TextureMailbox& mailbox) const { | 3465 const cc::TextureMailbox& mailbox) const { |
| 3466 auto it = | 3466 auto it = |
| 3467 std::find_if(texture_ref_counts_.begin(), texture_ref_counts_.end(), | 3467 std::find_if(texture_ref_counts_.begin(), texture_ref_counts_.end(), |
| 3468 [&mailbox](const TextureMailboxRefCount& ref_count) { | 3468 [&mailbox](const TextureMailboxRefCount& ref_count) { |
| 3469 return ref_count.first.mailbox() == mailbox.mailbox(); | 3469 return ref_count.first.mailbox() == mailbox.mailbox(); |
| 3470 }); | 3470 }); |
| 3471 return it != texture_ref_counts_.end(); | 3471 return it != texture_ref_counts_.end(); |
| 3472 } | 3472 } |
| 3473 | 3473 |
| 3474 } // namespace content | 3474 } // namespace content |
| OLD | NEW |