Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(33)

Side by Side Diff: webkit/plugins/ppapi/ppapi_plugin_instance.cc

Issue 9353013: Add GetUsbKeyCode dev interface for Pepper key events (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Auto-set PP_INPUTEVENT_CLASS_KEYBOARD Created 8 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 "webkit/plugins/ppapi/ppapi_plugin_instance.h" 5 #include "webkit/plugins/ppapi/ppapi_plugin_instance.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/debug/trace_event.h" 8 #include "base/debug/trace_event.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/memory/linked_ptr.h" 10 #include "base/memory/linked_ptr.h"
(...skipping 666 matching lines...) Expand 10 before | Expand all | Expand 10 after
677 scoped_refptr<PluginInstance> ref(this); 677 scoped_refptr<PluginInstance> ref(this);
678 678
679 bool rv = false; 679 bool rv = false;
680 if (LoadInputEventInterface()) { 680 if (LoadInputEventInterface()) {
681 PP_InputEvent_Class event_class = ClassifyInputEvent(event.type); 681 PP_InputEvent_Class event_class = ClassifyInputEvent(event.type);
682 if (!event_class) 682 if (!event_class)
683 return false; 683 return false;
684 684
685 if ((filtered_input_event_mask_ & event_class) || 685 if ((filtered_input_event_mask_ & event_class) ||
686 (input_event_mask_ & event_class)) { 686 (input_event_mask_ & event_class)) {
687 bool lowlevel_keyboard_events = (filtered_input_event_mask_ &
688 PP_INPUTEVENT_CLASS_LOWLEVEL_KEYBOARD_Dev);
689
687 // Actually send the event. 690 // Actually send the event.
688 std::vector< ::ppapi::InputEventData > events; 691 std::vector< ::ppapi::InputEventData > events;
689 CreateInputEventData(event, &events); 692 CreateInputEventData(event, lowlevel_keyboard_events, &events);
690 693
691 // Each input event may generate more than one PP_InputEvent. 694 // Each input event may generate more than one PP_InputEvent.
692 for (size_t i = 0; i < events.size(); i++) { 695 for (size_t i = 0; i < events.size(); i++) {
693 if (filtered_input_event_mask_ & event_class) 696 if (filtered_input_event_mask_ & event_class)
694 events[i].is_filtered = true; 697 events[i].is_filtered = true;
695 else 698 else
696 rv = true; // Unfiltered events are assumed to be handled. 699 rv = true; // Unfiltered events are assumed to be handled.
697 scoped_refptr<PPB_InputEvent_Shared> event_resource( 700 scoped_refptr<PPB_InputEvent_Shared> event_resource(
698 new PPB_InputEvent_Shared(PPB_InputEvent_Shared::InitAsImpl(), 701 new PPB_InputEvent_Shared(PPB_InputEvent_Shared::InitAsImpl(),
699 pp_instance(), events[i])); 702 pp_instance(), events[i]));
(...skipping 1191 matching lines...) Expand 10 before | Expand all | Expand 10 after
1891 return PP_TRUE; 1894 return PP_TRUE;
1892 } 1895 }
1893 1896
1894 PP_Bool PluginInstance::FlashGetScreenSize(PP_Instance instance, 1897 PP_Bool PluginInstance::FlashGetScreenSize(PP_Instance instance,
1895 PP_Size* size) { 1898 PP_Size* size) {
1896 return GetScreenSize(instance, size); 1899 return GetScreenSize(instance, size);
1897 } 1900 }
1898 1901
1899 int32_t PluginInstance::RequestInputEvents(PP_Instance instance, 1902 int32_t PluginInstance::RequestInputEvents(PP_Instance instance,
1900 uint32_t event_classes) { 1903 uint32_t event_classes) {
1904 if (event_classes & PP_INPUTEVENT_CLASS_LOWLEVEL_KEYBOARD_Dev)
1905 event_classes |= PP_INPUTEVENT_CLASS_KEYBOARD;
Wez 2012/02/07 23:48:13 Can we not just require that the caller supply bot
garykac 2012/02/09 14:26:04 No longer applicable.
1906
1901 input_event_mask_ |= event_classes; 1907 input_event_mask_ |= event_classes;
1902 filtered_input_event_mask_ &= ~(event_classes); 1908 filtered_input_event_mask_ &= ~(event_classes);
1903 return ValidateRequestInputEvents(false, event_classes); 1909 return ValidateRequestInputEvents(false, event_classes);
1904 } 1910 }
1905 1911
1906 int32_t PluginInstance::RequestFilteringInputEvents(PP_Instance instance, 1912 int32_t PluginInstance::RequestFilteringInputEvents(PP_Instance instance,
1907 uint32_t event_classes) { 1913 uint32_t event_classes) {
1914 if (event_classes & PP_INPUTEVENT_CLASS_LOWLEVEL_KEYBOARD_Dev)
1915 event_classes |= PP_INPUTEVENT_CLASS_KEYBOARD;
1916
1908 filtered_input_event_mask_ |= event_classes; 1917 filtered_input_event_mask_ |= event_classes;
1909 input_event_mask_ &= ~(event_classes); 1918 input_event_mask_ &= ~(event_classes);
1910 return ValidateRequestInputEvents(true, event_classes); 1919 return ValidateRequestInputEvents(true, event_classes);
1911 } 1920 }
1912 1921
1913 void PluginInstance::ClearInputEventRequest(PP_Instance instance, 1922 void PluginInstance::ClearInputEventRequest(PP_Instance instance,
1914 uint32_t event_classes) { 1923 uint32_t event_classes) {
1924 if (event_classes & PP_INPUTEVENT_CLASS_LOWLEVEL_KEYBOARD_Dev)
1925 event_classes |= PP_INPUTEVENT_CLASS_KEYBOARD;
1926
1915 input_event_mask_ &= ~(event_classes); 1927 input_event_mask_ &= ~(event_classes);
1916 filtered_input_event_mask_ &= ~(event_classes); 1928 filtered_input_event_mask_ &= ~(event_classes);
1917 } 1929 }
1918 1930
1919 void PluginInstance::ZoomChanged(PP_Instance instance, double factor) { 1931 void PluginInstance::ZoomChanged(PP_Instance instance, double factor) {
1920 // We only want to tell the page to change its zoom if the whole page is the 1932 // We only want to tell the page to change its zoom if the whole page is the
1921 // plugin. If we're in an iframe, then don't do anything. 1933 // plugin. If we're in an iframe, then don't do anything.
1922 if (!IsFullPagePlugin()) 1934 if (!IsFullPagePlugin())
1923 return; 1935 return;
1924 container()->zoomLevelChanged(WebView::zoomFactorToZoomLevel(factor)); 1936 container()->zoomLevelChanged(WebView::zoomFactorToZoomLevel(factor));
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
2086 screen_size_for_fullscreen_ = gfx::Size(); 2098 screen_size_for_fullscreen_ = gfx::Size();
2087 WebElement element = container_->element(); 2099 WebElement element = container_->element();
2088 element.setAttribute(WebString::fromUTF8(kWidth), width_before_fullscreen_); 2100 element.setAttribute(WebString::fromUTF8(kWidth), width_before_fullscreen_);
2089 element.setAttribute(WebString::fromUTF8(kHeight), height_before_fullscreen_); 2101 element.setAttribute(WebString::fromUTF8(kHeight), height_before_fullscreen_);
2090 element.setAttribute(WebString::fromUTF8(kBorder), border_before_fullscreen_); 2102 element.setAttribute(WebString::fromUTF8(kBorder), border_before_fullscreen_);
2091 element.setAttribute(WebString::fromUTF8(kStyle), style_before_fullscreen_); 2103 element.setAttribute(WebString::fromUTF8(kStyle), style_before_fullscreen_);
2092 } 2104 }
2093 2105
2094 } // namespace ppapi 2106 } // namespace ppapi
2095 } // namespace webkit 2107 } // namespace webkit
OLDNEW
« webkit/plugins/ppapi/event_conversion.h ('K') | « webkit/plugins/ppapi/event_conversion.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698